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 :

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));    
}
merci d'avance pour votre aide