Bonjour,

Je cherche à limiter le nombre d'insertions automatiques dans un select multiple qui reçois les données d'un autre multiple (form) depuis la fonction "copySelectedOptions(from,to)"...

Voici la fonction complète :

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
function copySelectedOptions(from,to) {
	var options = new Object();
	if (hasOptions(to)) {
		for (var i=0; i<to.options.length; i++) {
			options[to.options[i].value] = to.options[i].text;
			}
		}
	if (!hasOptions(from)) { return; }
	for (var i=0; i<from.options.length; i++) {
		var o = from.options[i];
		if (o.selected) {
			if (options[o.value] == null || options[o.value] == "undefined" || options[o.value]!= o.text) {
				if (!hasOptions(to)) { var index = 0; } else { var index=to.options.length; }
				to.options[index] = new Option( o.text, o.value, false, false);
				}
			}
		}
	if ((arguments.length<3) || (arguments[2]==true)) {
		sortSelect(to);
		}
	from.selectedIndex = -1;
	to.selectedIndex = -1;
	}
Et dans le formulaire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<select name="copy1" multiple="multiple" size="10" ondblclick="copySelectedOptions(document.forms[0]['copy1'],document.forms[0]['copy2'],false);return false;">
<option value="toto1">toto1</option>
<option value="toto2">toto2</option>
<option value="toto3">toto3</option>
</select>
 
<select name="copy2" multiple="multiple" size="10" ondblclick="removeSelectedOptions(document.forms[0]['copy2']); return false;"></select>
Le but étant de faire un "alert" disant que au-dèlà de 10 insertions (par exemple) ce n'est plus possible !

Merci de toute aide...

Legall