[AJAX]3 listes liées XMLHTTPREQUEST et IE
Bonjour,
Malgré mes faibles connaissances en ajax, en m'inspirant d'exemples sur le web j'ai créer 3 listes déroulantes, la 3ème est modifiée selon les changements des deux autres. Mon code fonctionne très bien sous Chrome, firefox, etc mais pas sur IE7.
Quelqu'un aurait-il déjà rencontré un problème similaire ? Je précise que ma fonction XMLHTTPREQUEST est compatible car avec deux formulaires cela fonctionne partout ...
Je suis preneur de toutes les infos pouvant m'aider, ça fait des jours que je cherche ...
Je vous mets un bout de code d'où je suppose que le problème viendrait, si vous avez besoin de plus n'hésitez pas !
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
| var xhr = getXMLHttpRequest();
var value1 = "1";
var value2 = "1";
get();
function request(oSelect) {
alert(oSelect);
value1 = oSelect.options[oSelect.selectedIndex].value;
get();
}
function request2(oSelect2) {
value2 = oSelect2.options[oSelect2.selectedIndex].value;
get();
}
function get(){
//alert(value1);
//alert(value2);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
readData(xhr.responseXML);
}
};
xhr.open("POST", "XMLHttpRequest.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var envoyer = ('id_entreprise='+value1+'&id_materiel='+value2);
//alert(envoyer);
xhr.send(envoyer);
}
function readData(oData) {
var nodes = oData.getElementsByTagName("item");
var oSelect = document.getElementById("modelesSelect");
var oOption, oInner;
oSelect.innerHTML = "";
for (var i=0, c=nodes.length; i<c; i++) {
oOption = document.createElement("option");
oInner = document.createTextNode(nodes[i].getAttribute("name"));
oOption.value = nodes[i].getAttribute("id");
oOption.appendChild(oInner);
oSelect.appendChild(oOption);
}
} |