Bonjour,
L'ajax me récupère bien mon résultat html et j'arrive à l'afficher sans problèmes.
Toutefois, dans le résultat récupéré j'ai généré dynamiquement un javascript ayant pour mission de me compléter des balises <label> avec une valeur.
A l'exécution dans Firefox 8, FireBug me remonte que mon premier label is null
document.getElementById("1XO_981_FT_10/10/2011") is null....pourtant il existe dans la réponse reçue par l'ajax.
si j'exécute le code html dans une page de test, tout fonctionne bien.
Mon js :
merci d'avance pour votre aide
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 function fonction_ajax(var1,var2,var3) { var OAjax; if (window.XMLHttpRequest) OAjax = new XMLHttpRequest(); else if (window.ActiveXObject) OAjax = new ActiveXObject('Microsoft.XMLHTTP'); OAjax.open('POST',"traitement.php",true); OAjax.onreadystatechange = function() { if (OAjax.readyState == 4 && (OAjax.status==200 || xhr.status == 0)) { parent.frames['nom_frame'].document.getElementById('id_animation_attente').style.display='none'; if (document.getElementById) { if (OAjax.responseText =='true') { /* OK */ parent.frames['nom_frame'].document.getElementById('id_du_div').innerHTML= OAjax.responseText; // EVALUATION DU JAVASCRIPT CONTENU DANS LA REPONSE var e = parent.frames['nom_frame'].document.getElementById('id_du_div'); /*On évalue le javascript contenu dans les dom*/ var scripts = e.getElementsByTagName('script'); for(var i=0; i < scripts.length;i++) { /*Sous IE il faut faire un execScript pour que les fonctions soient définie en globale*/ if (window.execScript) { /*On replace les éventuels com' html car IE n'aime pas ça*/ window.execScript(scripts[i].text.replace('<!--','')); } /*Sous les autres navigateurs on fait un window.eval*/ else { window.eval(scripts[i].text); } } }else{ /* PAS OK */ parent.frames['nom_frame'].document.getElementById('id_du_div').innerHTML='<div align="center">'+OAjax.responseText+'</div>'; } } }else{ parent.frames['nom_frame'].document.getElementById('id_animation_attente').style.display='block'; } } OAjax.setRequestHeader('Content-type','application/x-www-form-urlencoded'); OAjax.send('var1='+encodeURIComponent(var1)+'&var2='+encodeURIComponent(var2)+'&var3='+encodeURIComponent(var3)); }
Partager