Script incompatible avec Firefox, le retour !
Re-bonjour, je viens à nouveau vous embêter avec mon script qui ne marche pas sous firefox.
Mon problème est différent. J'ai une page php qui me renvoie des données de ma DB, au format XML.
Je lis, via Ajax et la méthode responseXML.getElementsByTagName, les données contenues dans le XML.
Comme d'habitude, sous IE, le script marche sans problème, mais sous Firefox, je n'arrive pas à analyser le document XML.
Revoici le même bout de code que tout à l'heure.
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
| function addCat(){
var form = document.forms[1];
var resp = document.getElementById("admCatResp");
var xhr= init();
xhr.open("POST","server/admAddCat.php",true);
if(checkForm(form)) {
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send(getFormData(form));
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
alert(xhr.responseXML.getElementsByTagName("Status")[0].text);
if (xhr.responseXML.getElementsByTagName("Status")[0].text == "Add"){
var id = xhr.responseXML.getElementsByTagName('Id')[0].text;
alert(id);
var name = xhr.responseXML.getElementByTagName('Name')[0].text;
alert(name);
new_element = new Option(name,id);
form.cbIdCat.options[form.cbIdCat.length] = new_element;
resp.innerHTML = "Catégorie n° "+xhr.responseXML.getElementsByTagName('Id')[0].text+" ajoutée";
}
else if (xhr.responseXML.getElementsByTagName("Status")[0].text == "Update")
resp.innerHTML = "Catégorie n°"+xhr.responseXML.getElementsByTagName('Id')[0].text+" modifiée";
}
else resp.innerHTML= treatmentError;
form.reset();
}
}
else resp.innerHTML = errorMsg;
} |
sous IE, le alert affiche bien "Add', mais sous Firefox, le alert renvoie "Undefined".
Qu'est-ce qui cloche ?
Merci d'avance,