InnerHTML & XMLHttpRequest

Résolu
Xidy Messages postés 87 Statut Membre -  
 Joe -
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. AssassinTourist Messages postés 409 Date d'inscription   Statut Contributeur Dernière intervention   1 313
     
    Bonjour,
    Quel contenu as-tu ?
    0
  2. Xidy Messages postés 87 Statut Membre 3
     
    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>
    
    0
  3. Joe
     
    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();
    0