Bonjour, le problème est relativement simple, j'ai une page avec 4 "volets". Comprenez, un titre, on clique dessus, le détail apparait et ferme le volet qui était ouvert.
Voila mes deux fonctions servant à créer et manager mon xhr :
Et ma fonction qui ouvre un volet et ferme le volet ouvert précédement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 function ObjetXHR(LD_URL) { //creation de l'objet XMLHttpRequest if (window.XMLHttpRequest) { // Mozilla,... xmlhttp=new XMLHttpRequest(); if (xmlhttp.overrideMimeType) { xmlhttp.overrideMimeType('text/xml'); } xmlhttp.open("GET", LD_URL, true); xmlhttp.onreadystatechange=ChargeLd; xmlhttp.overrideMimeType('text/html; charset=ISO-8859-15'); xmlhttp.send(null); } else if (window.ActiveXObject) { //IE xmlhttp=new ActiveXObject('Microsoft.XMLHTTP'); if (xmlhttp) { xmlhttp.open('GET', LD_URL, false); xmlhttp.onreadystatechange=ChargeLd; xmlhttp.send(); } } //document.getElementById(id_focus).focus(); } // fonction pour manipuler l'appel asynchrone function ChargeLd() { if (xmlhttp.readyState==4) { if (xmlhttp.status==200) { document.getElementById(id_span).innerHTML=xmlhttp.responseText; document.getElementbyId(id_col).innerHTML=x } } }
La première partie de OpenVolet fonctionne très bien, le volet précédent se ferme, mais impossible de faire fonctionner l'ouverture (que j'ai testé à part, et qui marche.)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function OpenVolet(id_open,id_close){ id_span=id_close; var LD_URL = 'ajax/CloseVolet.php?volet='+id_close; ObjetXHR(LD_URL); id_span=id_open; var LD_URL = 'ajax/OpenVolet.php?volet='+id_open; ObjetXHR2(LD_URL); }
J'ai lu sur quelques forums qu'il fallait utiliser la fonction .abort(), pour libérer la requete xhr mais je n'ai pas réussi à l'appliquer correctement.
En fait, après quelques tests, je me suis aperçu que tout se qui se trouvait à la suite de l'appel de ObjetXHR() dans ma fonction OpenVolet ne s'exécutait pas.
Pourquoi? Comment faire pour résoudre mon problème, tout plein de questions qui se trouvent sans réponse!!
Merci d'avance!
Partager