Récupérer la selection d'un formulaire avec IE.
Bonjour,
Je travaille sur un script en javascript Asynchrone.
Le but est la mise à jour d'une liste déroulante a partir de la sélection d'une première liste.
Mon test fonctionne bien avec firefox, safari et chrome, mais pas avec IE.
Voici la fonction qui me pose problème:
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
|
function request05(f) {
var l1 = f.elements["list1"];
var l2 = f.elements["list2"];
var index = l1.selectedIndex;
if(index < 1)
l2.options.length = 0;
else {
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.open("POST", "species.php", true);
xhr_object.onreadystatechange = function anonymous() {
if(xhr_object.readyState == 4)
eval(xhr_object.responseText);
}
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var data = "family="+escape(l1.options[index].value)+"&form="+f.name+"&select=list2";
xhr_object.send(data);
alert(l1.options[index].value);
}
} |
Avec cette fonction, j'exécute un fichier php pour mettre la deuxième liste à jour.
Je transmet donc des variables par l'intermédiaire de data.
Le problème est que IE ne transmet pas la valeur sélectionné dans la première liste.
J'ai ajouté " alert(l1.options[index].value); ", pour voir le contenu et pour IE ca ne m'affiche rien, pour les autres navigateurs la sélection est bien transmise.
Voyez-vous ou est le problème ?
Merci d'avance.