validation formulaire :"objet attendu" pour onSubm
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:
onClick="one2two(document.plante_travail.plante1, document.plante_travail.plante2);"
Voici mon code:
Code:
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:
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