Bonjour j'ai un petit souci avec des listes déplaçables. Je viens juste de rajouter une liste déroulante de clients (premier select) et la je ne peux plus déplacé d'éléments entre les deux listes. Avec la console de Debug de JavaScript j'obtiens le message d'erreur suivant l2.options has no properties. Je ne comprend pas en quoi la liste déroulante que j'ai rajouté pose problèmes. Merci de votre aide par avance. Voici le code

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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<script language="javascript"  type="text/javascript">
 
<!-- script de deplacement entre listes -->
function Deplacer(l1,l2) 
{
alert(l1);
alert(l2);
if (l1.options.selectedIndex>=0) {
	o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value);
	l2.options[l2.options.length]=o;
	l1.options[l1.options.selectedIndex]=null;
}
else{	alert("Aucun groupe n\'a été sélectionné");	}
}
 
 
function DeplacerTout(l1,l2)
{
for (i=0; i < l1.options.length ; i++)
        {
 
             o=new Option(l1.options(i).text,l1.options(i).value);
             l2.options[l2.options.length]=o;
             l1.options[i]=null;
             i = i -1 ;
          }
}
 
<!-- script de selection auto de tout le contenu d'une liste -->
function PostSelect(liste)
{
  // On compte le nombre d'item de la liste select
  NbCol1 = document.forms[liste].elements[9].length;
  // On lance une boucle pour selectionner tous les items
  for (a = 0; a < NbCol1; a++)
  { document.forms[liste].elements[9].options[a].selected = true;  }
}
</script>
 
 
<form name="form1" method="post" action="utilisateur_valider.php">
 
<fieldset>
<legend>Créer un utilisateur</legend>
 
<p>Client : 		
  <select name="client" size="1" id="client">
  <option value="" selected>Choisissez un client</option>
	<?php
	//----- boucle d'affichage de la liste déroulante des clients -----
	//---- si on est sur la page de creation d'une facture ou devis on affiche que les clients non supprimés -------
	$req_cli = mysql_query ("SELECT * FROM cwfact_clients ORDER BY societe,contact");						
	while ($res_cli = mysql_fetch_array($req_cli))
	{	
	  	if($res_cli["contact"] != "") { $contact = "[".stripslashes($res_cli["contact"])."]"; }
	  	else { $contact = ""; }
	  	echo '<option value="'.$res_cli["id_client"].'">'.stripslashes($res_cli["societe"])." ".$contact.'</option>';	
	}
	?>
  </select>
</p>
 
<p>Nom d'utilisateur : <input name="user" type="text" size="40" /></p>
<p>Mot de passe : <input name="pass1" type="password" size="12" /></p>
<p>Retapez le mot de passe : <input name="pass2" type="password" size="12" /></p>
 
<hr />
 
<h2>Groupes auxquels a appartient cet utilisateur :</h2>
 
<div id="transfertliste">
<table>
  <tr><td width="40%">Groupes disponibles</td><td width="20%">&nbsp;</td><td width="40%">Groupes choisis</td></tr>
  <tr>
 	<td>
	<select name="liste1" size="10" OnDblClick="Deplacer(this.form.liste1,this.form.elements[9])" id="liste1">
	<?php
	//----- boucle d'affichage de la liste des groupes ---------
	$req_groupe = mysql_query("SELECT * FROM cwadm_groupes ORDER BY groupe");
	while ($res_groupe = mysql_fetch_array($req_groupe))
	{	echo '<option value="'.$res_groupe["id_groupe"].'">'.$res_groupe["groupe"].'</option>';	}
	?>
	</select>
	</td>
	<td>
	<p><input type="button" value=" > " onClick="Deplacer(this.form.liste1,this.form.elements[9])"  title="Ajouter un groupe" /></p>
 
	<p><input type="button" value=" < " onClick="Deplacer(this.form.elements[9],this.form.liste1)"   title="Retirer un groupe"/></p>
 
    <p><input type="button" value=">>" OnClick="DeplacerTout(this.form.liste1,this.form.elements[9])"  title="Ajouter tous les groupes"/></p>
 
	<p><input type="button" value="<<" onClick="DeplacerTout(this.form.elements[9],this.form.liste1)"  title="Retirer tous les groupes"/></p>
 
 
	</td>
	<td>
	<select name="liste2[]" size="10" multiple OnDblClick="Deplacer(this.form.elements[9],this.form.liste1)">
	</select>
	<a href="#" onClick="javascript:PostSelect('form1')"><p class="info">Cliquez ici pour tout sélectionner</p></a>
	</td>
  </tr>
</table>
</div>
 
</fieldset>
 
</form>