InnerHTML & XMLHttpRequest

Résolu
Bonjour,

mon innerHTML n'affiche rien mais je reçoit bien un contenu pour reponseText (visible via firebug)

Que faire?

Merci!

<SCRIPT TYPE="text/javascript">
function getName(){
	
	if(window.XMLHttpRequest) // Firefox 
		var requete = new XMLHttpRequest(); 
	else if(window.ActiveXObject) // Internet Explorer 
		var requete = new ActiveXObject('Microsoft.XMLHTTP');
	
	requete.open('GET','Pages_externe/Telephone_query.php?Nom='+document.getElementById('nom').value+'&rand='+Math.random(),'false');
	
	requete.send();
	document.getElementById('telephone').innerHTML = requete.responseText;
}
</SCRIPT>


3 réponses

  1. Haha! C'est résolu, voici le code (par contre l'explication je ne suis pas trop sûr, je n'attendais pas que l'objet soit "prêt?)

    <SCRIPT TYPE="text/javascript">
    function getName(){
    	
    	if(window.XMLHttpRequest) // Firefox 
    		var requete = new XMLHttpRequest(); 
    	else if(window.ActiveXObject) // Internet Explorer 
    		var requete = new ActiveXObject('Microsoft.XMLHTTP');
    		
    	requete.onreadystatechange = function() {
    	if (requete.readyState == 4 && (requete.status == 200 || requete.status == 0)) {
    		document.getElementById('telephone').innerHTML = requete.responseText;
    	}
    	};
    	
    	requete.open('GET','Pages_externe/Telephone_query.php?Nom='+document.getElementById('nom').value+'&rand='+Math.random(),'false');
    	requete.send();
    }
    </SCRIPT>
    
    1. Il faut "attendre le résultat. Donc :

      requete.open('GET','Pages_externe/Telephone_query.php?Nom='+document.getElementById('nom').value+'&rand='+Math.random(),'false');

      requete.onreadystatechange = function()
      {
      if (requete.readyState == 4 )
      {
      if ( requete.status == 200)
      {
      document.getElementById('telephone').innerHTML = requete.responseText;
      }
      else
      {
      document.getElementById('telephone').innerHTML = 'Erreur';
      }
      }
      };

      requete.send();