Bonjour a tous,

J'ai un probleme concernant un script.

Je fais 2 listes déroulantes. Lorsque je sélectionne des valeurs dans la 1ere liste, et que j'appuie sur un bouton, je veux faire passer ces valeurs dans la seconde liste.

A chaque fois que je clique sur le bouton qui devrait me permettre de faire passer les valeurs de la 1ere liste a la seconde, j'ai une erreur javascript : "objet attendu"... et le debuggeur m'amene sur le input du bouton, et plus particulierement sur le
Code : Sélectionner tout - Visualiser dans une fenêtre à part
onClick="one2two(document.plante_travail.plante1, document.plante_travail.plante2);"
Voici mon 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
 
<HTML>
<HEAD>
<title>plante-->travail</title>
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<style type="text/css">
<!-- @IMPORT URL(http://intranet/form.css);-->
</style>
</HEAD>
<body > 
 
<SCRIPT language="javascript" src="/scripts/travail.js"></script>
 <script language=javascript>      
function on_submit(){
getplante(document.travail.liste1, document.travail.liste2, document.travail.listeval1, document.travail.listeval2);
 
return true;
}
</script>
<H2><center>Travail<br>
 </center<form method='post' action='plante_travail.cgi' enctype='multipart/form-data' onSubmit='return on_submit();'>
 
</H2>
<INPUT TYPE="hidden" NAME="listeval1" VALUE="">
<INPUT TYPE="hidden" NAME="listeval2" VALUE="">
 
<SELECT NAME="liste1" SIZE=10 MULTIPLE>
<OPTION  VALUE="10">Choix1
<OPTION  VALUE="11">Choix2
...
</SELECT>
 
<input type=button value='-->' onClick="one2two(document.travail.liste1, document.travail.liste2);">
 
To do : 
<SELECT NAME="liste2" SIZE=10 MULTIPLE>
</SELECT>
 
<input type=button value='<--' onClick="two2one(document.travail.liste1, document.travail.liste2);">
 
</form></BODY></HTML>
Et dans travail.js :

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
function one2two(one, two) {
    m1len = one.length ;
    for ( i=0; i<m1len ; i++){
        if (one.options[i].selected == true ) {
            m2len = two.length;
            two.options[m2len]= new Option(one.options[i].text, one.options[i].value);
        }
    }
 
    for ( i = (m1len -1); i>=0; i--){
        if (one.options[i].selected == true ) {
            one.options[i] = null;
        }
    }
}
 
function two2one(one, two) {
    m2len = two.length ;
        for ( i=0; i<m2len ; i++){
            if (two.options[i].selected == true ) {
                m1len = one.length;
                one.options[m1len]= new Option(two.options[i].text, two.options[i].value);
            }
        }
        for ( i=(m2len-1); i>=0; i--) {
            if (two.options[i].selected == true ) {
                two.options[i] = null;
            }
        } 
}
/******************************************************
 * récupérer les valeurs contenues dans le champ test *
 ******************************************************/
 
function getplante(one, two, hidden1, hidden2){
    m1len = one.length ;
    if (m1len>0){
    hidden1.value = one.options[0].text + \"/\" + one.options[0].value;
    for ( i=1; i<m1len ; i++){
        hidden1.value += \"|\"+ one.options[i].text + \"/\" + one.options[i].value;
    }
}
    m2len = two.length ;
    if (m2len>0){
    hidden2.value =two.options[0].text + \"/\" + two.options[0].value;
    for ( i=1; i<m2len ; i++){
        hidden2.value += \"|\"+ two.options[i].text + \"/\" + two.options[i].value;
    }
}
}
Je n'arrive pas a trouver d'ou vient le probleme...

Merci a ceux qui pourront m'aider...

Je précise que je ne suis pas a l'origine de ce code, il a deja été utilisé dans une page du projet sur lequel je travaille mais je n'arrive pas a le mettre en application...

Linou