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);">></div></td> </tr> <tr> <td><div onclick="test();list = moveSelectedOptions('list2','list1'); displayOptionsList(list);"><</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
Partager