[AJAX] getElementsByTagName et Firefox
Bonjour,
Voila, je me permets de poser un message après des heures à me taper la tête contre les murs !
tout d'apres le script marche tres bien sous IE...mais sous firefox......
Donc j'envoie via un script php, un fichier xml dont le code est :
Code:
1 2 3 4 5 6 7 8
| header('Content-Type: text/xml');
echo "<?xml version=\"1.0\"?>\n";
echo "<register>\n";
for($i=0;$i<count($erreurs);$i++)
{
echo "<donnee>".$erreurs[$i]."</donnee>\n";
}
echo "</register>\n"; |
Ensuite le code "AJAX" est :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| function signin(pseudo,password1,password2,birthday,seebirthday,metier,seeprofession,pays,ville,email1,email2,seeemail,phone,seephone,web,seeweb,newsletter,code)
{
var OAjax;
var Index;
var erreur;
if (window.XMLHttpRequest) OAjax = new XMLHttpRequest();
else if (window.ActiveXObject) OAjax = new ActiveXObject('Microsoft.XMLHTTP');
OAjax.open('POST',"ctrregister.php",true);
OAjax.onreadystatechange = function()
{
if (OAjax.readyState == 4 && OAjax.status==200)
{
if (document.getElementById)
{
if (OAjax.responseText =='true')
{
document.location.href="confirmation.php"
}else{
//alert(OAjax.responseText);
var docXML= OAjax.responseXML;
var items = docXML.getElementsByTagName("donnee")
//on fait juste une boucle sur chaque element donnee trouve
for (i=0;i<items.length;i++)
{
document.getElementById("msg"+i).innerHTML=' ';
try{
document.getElementById("msg"+i).innerHTML=items.item(i).firstChild.data;
}catch(e){
var tmp=e;
}
}
}
}
}
}
OAjax.setRequestHeader('Content-type','application/x-www-form-urlencoded');
OAjax.send('pseudo='+pseudo+'&password1='+password1+'&password2='+password2+'&birthday='+birthday+'&seebirthday='+seebirthday+'&metier='+metier+'&seeprofession='+seeprofession+'&pays='+pays+'&ville='+ville+'&email1='+email1+'&email2='+email2+'&seeemail='+seeemail+'&phone='+phone+'&seephone='+seephone+'&web='+web+'&seeweb='+seeweb+'&newsletter='+newsletter+'&code='+code);
} |
A l'exécution sous firefox, j'ai l'erreur :
Citation:
docXML has no properties
[Break on this error] var items = docXML.getElementsByTagName("donnee")
S'il vous plait, je tourne en rond
Merci d'avance
alert(OAjax.responseXML);
Excusez moi pour l'indentation du code.
Lorsque je fais :
alert(OAjax.responseXML);
il me renvoie dans un message box : Null
:cry:
Pour tester, j'ai essayer à la place :
alert(OAjax.responseText);
Et là, il me renvoie l'integralité du code de la page appellante !!!