Charger une page par Ajax à partir d'une fenêtre fille [Résolu]

Signaler
Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011
-
roro59650
Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011
-
Bonjour,


Je vais d’abord vous expliquer ma situation. J’ai une page principale. Dans cette page, j’ai une balise div où je charge mes pages en Ajax. Mais ce que je veux maintenant, c’est d’ouvrir une page en pop up, ça, tout roule, c’est ok. Dans cette pop up, je veux charger une page dans le div de ma page principale, avec Ajax.


Voici la ligne de code que je pense utiliser :



< !-- CODE AJAX bla bla bla -->



window.opener.document.getElementById('CorpsPage').innerHTML = xhr_object.responseText;



< !-- bla bla bla FIN CODE AJAX -->


Sachant que sans Ajax, mon code donne ça :



opener.location="<?php echo $www ?>"; ($www étant le lien dans une variable php).<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

Donc si vous avez une idée, vous êtes les bienvenus (chez les ch'ti^^)!
Merci d'avance!!
un site qui s'ameliore de jour en jour

20 réponses

Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
29
pas tout regardé, mais

                page mère :

<script type="text/javasript">
    window.open("new2.htm");
</script>

               pop-up :

<script type="text/javasript">

    window.opener.document.getElementById("toto").innerHTML="exemple";
</script>

    ça baigne...

    ne trouve pas getElementById('CorpsPage')   dans la page mère ?

<hr />                Cordialement            Bul        
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
29
>>Pourtant, je ne change opener en faisant opener=self qu'a la fin de ma fonction!
    oh... attention, javascript est totalement asynchrone...
        cette modif a peut-être lieu avant que tu ne crois ?
    en général on utilise pour fermer le pop-up par lui-même...
       et je devrais dire on utilisait...
       window.close()   tout seul suffit aujourd'hui
       enfin avec IE, car avec les autres navigateurs...
<hr />                Cordialement            Bul        
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
29
Bonjour,

    pour toutes relations avec la page mère :
            employer la même chose que dans la même page...
                     en ajoutant devant : window.opener.

>>bienvenus (chez les ch'ti)!
      merci à ti.    j'va y faire un ch'tiot tour ( din ch'nord ) normalemin, dimiche.  <hr />                Cordialement            Bul        
Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011

Il faut croire que je suis sacrément maudit moi avec le Javascript...


Voilà le code Ajax en entier :



                       
   
                   
<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>






           
var xhr_object = null;






           
   if(window.XMLHttpRequest)  xhr_object = new XMLHttpRequest();






           
  else






           
    if (window.ActiveXObject)  xhr_object = new ActiveXObject("Microsoft.XMLHTTP");






 






            // On ouvre la requete vers la page désirée






            xhr_object.open("GET", url, true);






           








            xhr_object.onreadystatechange = function(){






                        if ( xhr_object.readyState == 4 )






                        {






                                   // j'affiche dans la DIV spécifiée le contenu retourné par le fichier






                                   window.opener.document.getElementById('CorpsPage').innerHTML = xhr_object.responseText;






                        }






            }






            // dans le cas du get






            xhr_object.send(null);




Donc franchement, je ne vois pas où ça merde…


Car ça fonctionne très bien sans le « window.opener »…


Donc voilà quoi, merci de ton aide !






>> merci à ti.    j'va y faire un ch'tiot tour ( din ch'nord ) normalemin, dimiche. 




            Ah ouais, t’es d’où ti ? Mi, euh d’ch’capital des Flandres HEIN^^ !





Tiro où diminche ?








un site qui s'ameliore de jour en jour
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
29
mi...   un tout ch'tiot bled près d'Douai : Waziers.
au coeur du pays minier ( min père ch'éto un mineur d'fond )
mais j'ai du mal à parler et encore plus à écrire ch'ti... hélas...
<hr />                Cordialement            Bul        
Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011

Ah ouais, pour être au coeur du bassin minier, t'y es!!^^
Mi, mon père éto du Pô d'Calais, mais vraiment pas de Calais^^, vers Saint pol sur ternoise, en plein c'ur d?la campagne ! Mais marié à une Lorraine, deux belles régions quoi !
Euh m?grand père, quand y eto ?cor deu ch?monde, bah qu'y parlais t?jours ch?timi lui, ?fin, l?picard ternois^^.
J'aime bien cette langue, et vu le succès du film, c'est pas près d'être une langue morte (comme on en avait eu peur il y à quelques années) !!
M'enfin, j'ai toujours ce foutu Ajax qui saoule^^!
Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011

L'erreur du "debugeur" :
window.opener.document.getElementById(...)' a la valeur Null ou n'est pas un objet
Donc oui, je pense qu'il ne r'cono pô c'balise... :S
Mais pourtant, l'Ajax sans pop up marche très bien!
Avec le même code, sans les "window.opener"!
Je vais essayer ton test!
Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011

MDR !!
Entre ch?ti, j?peut t?appeler boubourse ?^^
J'ai galeré un quart d'heure sur ton code? Car t?a oublié le « C » de JavaSCript !^^
Mais sinon ton code marche, je vais tenter de l'adapter?
Merci !
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
29
>>Car t’a oublié le « C » de JavaSCript !  
    j'avo pourtin testé...

>>window.opener.document.getElementById(...)' a la valeur Null ou n'est pas un objet
    ne retrouve pas l'ID...
    peut-être l'oubli d'un C  
orpsPage" ... >

<hr />                Cordialement            Bul        
Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011

>>ne retrouve pas l'ID...
peut-être l'oubli d'un C

Euh nan, désolé^^, j'avo d'jà regardé mi!^^
Comment peut-on tester si la page est bien "reliée" à ma page principale?
Car je pencherais pour cette erreur là...
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
29
>>au coeur du bassin minier, t'y es
    j'y fus... parti depuis quelques années,
       j'ai pas mal bougé... faut bien gagner sa croute.
<hr />                Cordialement            Bul        
Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011

Ah, t'es exilé dans quel pays étranger maintenant? En France?^^
Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011

Bon allez, la journée de boulot est finie!
Peut-etre la nuit porte conseil!
A demain ptete t'cho biloute!
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
29
alert(window.opener);
mais si ouvert avec window.open... ça ne peut être false que si la page mère est fermée.

plus probable ? : une erreur "html", devant le div, qui fait qu'il n'est pas reconnu

<hr />                Cordialement            Bul        
Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011

Bonjour,
Ca va bien?
Voilà, j'ai repris mes tests, et en faisant : alert("Page mère : "+window.opener.document.location.href);, j'ai vu que le résultat est le pop-up...
Pourtant, je ne change opener en faisant opener=self qu'a la fin de ma fonction!
Je continue mes investigations, surement une erreur conne, comme d'hab...
Merci d'avance!
un site qui s'ameliore de jour en jour
Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011

www.le-roro.fr un site qui s'ameliore de jour en jour
Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011

Ah yes Bultez!!
T'es un bon ti, t'es un bon!!
Le window.close() qui change tout!!
Ca y'est, ça fonctionneeeee!
En fait, avant que tu ne me donne cet indice-réponse, j'avais réussi à faire fonctionner. Enfin, il n'y avais pas de rapport d'erreur, et l'Ajax ne fonctionnait pas...
Merci encore beaucoup!
Vive l'actualisation des connaissances!!
Viva Bultez le ch'ti du dimanche!!
un site qui s'ameliore de jour en jour
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
29
nickel si ça baigne...   @+
<hr />                Cordialement            Bul        
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
29
>>

Ah, t'es exilé dans quel pays étranger maintenant?
    je n'avais pas répondu, car pas vu !
>>En France?^^           ;o))
    et oui....   pour l'instant dans le Loiret, sud-est d'Orléans,
                   ma maison/terrain... jouxte la forêt.
<hr />                Cordialement            Bul        
Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011

Ah, ok, pauvre Bultez! Je te plains^^.
M'enfin, y'a d'autres belles régions en France!!
Et pi vu que t'es assez confortablement installé^^!
Allez, bonne aprem,a++
un site qui s'ameliore de jour en jour