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:

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);
Le $ sert juste a récupèrer l'élément pointé par l'id passé en paramètre.

La méthode getAjaxPower est la suivante:

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;
						}
					}
				}
			}
Merci d'avance à ceux qui essayeront de m'aider.

Bonne journée