Bonjour à tous,
Je me suis lancé dans le developpement d'un site web assez évolué et je ne connais pas bien javascript.J'ai besoin de votre aide^^
J'aimerai créé une formulaire avec 2 select et des boutons qui permettent de passer un élément d'un select à l'autre.J'ai récupérer le code ci dessous sur un autre site et j'essaye de le travailler pour qu'il réponde à mes besoins:


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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
 
	<script language="javascript" type="text/javascript">	
 
		function getSelectedValues (select) {
			var selValues = new Array();
			for (j = 0; j < select.options.length; j++){
				selValues[selValues.length] = select.options[j].value;					
			}
			return selValues;
		}
 
		function getSelectedOptions (select) {
			var selOptions  = new Array();
			for (m = 0; m < select.options.length; m++){
				if (select.options[m].selected) {
					selOptions[selOptions.length] = select.options[m];
				}
			}
			return selOptions;
		}
 
		function moveSelectedOptions(from, to){
			fromSelect = document.getElementById(from)[0];	
			selOpt = getSelectedOptions(fromSelect);			
			var selValues = new Array();
			if(selOpt.length>0){				
				selValues = getSelectedValues(fromSelect);
				toSelect=document.getElementById(to)[0];
				for(i=0;i<selOpt.length;i++){
					option = selOpt[i];
					fromSelect.removeChild(option);						
					toSelect.appendChild(option);
				}
			}	
			return selValues;
		}
 
		//Affichage des valeurs sélectionnées		
		function displayOptionsList(list){			
			//Enlever les commentaires ci-dessous pour afficher la valeur des options sélectionnées
			/*var msg="";
			for(n=0;n<list.length;n++){
			option = list[n];
			 msg+="["+option.value+"]";
			}
			alert(msg);*/
		}
	</script>
</head>
 
<body>
<table>
<tr>
<td>
<select Id="list1" multiple>
	<option value="1">Alain</option>
	<option value="2">Jose</option>
	<option value="3">Philippe</option>
</select>
</td>
<td>
	<table>
		<tr>
			<td><div onclick="list = moveSelectedOptions('list1','list2'); displayOptionsList(list);">&gt;</div></td>
		</tr>
		<tr>
			<td><div onclick="test();list = moveSelectedOptions('list2','list1'); displayOptionsList(list);">&lt;</div></td>
		</tr>		
	</table>
</td>
<td>
<select Id="list2" multiple>
	<option value="4">Jacques</option>
	<option value="5">Paul</option>
	<option value="6">Pierre</option>
</select>
</td>
</table>

Ce code me génére l'erreur select.options has no properties dans la console javascript de firefox qaund je cliques sur un des liens pour changer l'élément de place.

J'ai vraiment du mal à trouver d'ou ça vient. J'ai le droit d'écrire select.options.length, normalement...Si vous avez une idée de correction n'hésitez pas.

merci d'avance