InnerHTML & XMLHttpRequest [Résolu/Fermé]

Signaler
Messages postés
82
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
19 juillet 2014
-
 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

Messages postés
5695
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
14 octobre 2020
1 138
Bonjour,
Quel contenu as-tu ?
Messages postés
82
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
19 juillet 2014
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>
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();