Bonjour à tous les pros de l'Ajax et du javascript.
J'ai plusieurs petits soucis mais on va commencer par le commencement:
J'ai deux listes déroulantes qui doivent se remplir avec le résultat d'une requête AJAX.
La requête se passe bien mais une seule des listes est remplie (celle que je remplis en dernier).
Voici ma source:
Le $ sert juste a récupèrer l'élément pointé par l'id passé en paramètre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 showLoadBar(); xhr = getAjaxPower(); //list = $(idList); list = $("newMailCountry"); list2 = $("newStreetCountry"); resetList(list); xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ hideLoadBar(); xDoc = xhr.responseXML; items = xDoc.getElementsByTagName("item"); for(i=0;i<items.length;i++){ val = items[i].firstChild.nodeValue; opt = new Option(val,val,false,false); list.options[list.length] = opt; //Remplire liste1 list2.options[list2.length] = opt; //Remplire liste2 } }else if(xhr.readyState == 4){ hideLoadBar(); alert("Requête Ajax corrompue"); } } xhr.open("GET","countries.php?rand="+Math.random(),true); xhr.send(null);
La méthode getAjaxPower est la suivante:
Merci d'avance à ceux qui essayeront de m'aider.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 function getAjaxPower(){ try{ // Firefox, Opera 8.0+, Safari return new XMLHttpRequest(); }catch (e){ // Internet Explorer try{ return new ActiveXObject("Msxml2.XMLHTTP"); }catch (e){ try{ return new ActiveXObject("Microsoft.XMLHTTP"); }catch (e){ alert("Your browser does not support AJAX!"); return false; } } } }
Bonne journée
Partager