InnerHTML & XMLHttpRequest
Résolu
Xidy
Messages postés
82
Date d'inscription
Statut
Membre
Dernière intervention
-
Joe -
Joe -
Bonjour,
mon innerHTML n'affiche rien mais je reçoit bien un contenu pour reponseText (visible via firebug)
Que faire?
Merci!
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
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();
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();