InnerHTML & XMLHttpRequest

Résolu/Fermé
Xidy Messages postés 82 Date d'inscription mardi 26 août 2008 Statut Membre Dernière intervention 19 juillet 2014 - 26 janv. 2012 à 15:28
 Joe - 26 janv. 2012 à 15:55
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

AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
26 janv. 2012 à 15:44
Bonjour,
Quel contenu as-tu ?
0
Xidy Messages postés 82 Date d'inscription mardi 26 août 2008 Statut Membre Dernière intervention 19 juillet 2014 3
26 janv. 2012 à 15:50
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
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