IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

validation formulaire :"objet attendu" pour onSubm


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 171
    Points : 70
    Points
    70
    Par défaut 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 : 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

  2. #2
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    dans ta fonction getplante il y a des
    \
    inutiles devant les ".

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 171
    Points : 70
    Points
    70
    Par défaut
    Effectivement, il y a ca qui posait probleme.

    Mais avant, c'était le fichier .js qui n'était pas au bon endroit.
    Ca marche maintenant.

    Par contre, quand je veux valider mon formulaire, j'ai un autre probleme :
    encore "objet attendu", mais cette fois ci, ca me revoir sur le "return on_submit()".

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 171
    Points : 70
    Points
    70
    Par défaut
    J'ai essayé de reprendre la fonction on_submit en pensant que ca venait de la, mais toujours la meme erreur.

    Et si j'enleve le corps de la fonction, elle est supposée ne rien faire et pourtant toujours ce message d'"objet attendu"...

    Je ne comprend pas...

  5. #5
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    As tu d'autres fonctions dans
    /scripts/travail.js
    (mal faites)

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 171
    Points : 70
    Points
    70
    Par défaut
    J'en avais une autre, je viens de la supprimer car elle ne me sert pas pour l'instant mais j'ai toujours le meme message sur le onSubmit...

  7. #7
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    repost tes codes!

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 171
    Points : 70
    Points
    70
    Par défaut
    Revoila le code, toujours avec un probleme sur le onSubmit du form...

    Pour des raisons de confidentialité, je suis obligée de trier et masquer certaines choses, jespere avoir été cohérente.

    travail.cgi
    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
     
    <HTML>
          <HEAD>
              <title> Travail</title>
              <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
              <style type="text/css">
                   <!-- @IMPORT URL(http:// intranet/form.css);-->
              </style>
          </HEAD>
          <SCRIPT language="javascript" src="/scripts/travail.js">
          function on_submit()
          {
               getliste(document.forms[0].liste1, document.forms[0].liste2, document.forms[0].listeval1, document.forms[0].listeval2);
               return true;
          }
          </script>
     
    <body>
    <H2><center>Sheet<br></center></H2>
     
    <form method='post' action='travail.cgi' enctype='multipart/form-data' onSubmit='return on_submit();'>
     
    <table border=1 width=90%>
    <INPUT TYPE="hidden" NAME="listeval1" VALUE="">
    <INPUT TYPE="hidden" NAME="listeval2" VALUE="">
    <tr><td width=33%>
    <SELECT NAME="liste1" SIZE=10 MULTIPLE>
    <OPTION  VALUE="933">Choix1
    <OPTION  VALUE="934">Choix2
    ...
    </SELECT>
     
    <br>
    <input type=button value='-->' onClick="one2two(document.forms[0].liste1, document.forms[0].liste2);">
     
    </td>
    <td width=10%>&nbsp;&nbsp;&nbsp;Select : </td>
    <td><SELECT NAME="liste2" SIZE=10 MULTIPLE>
    </SELECT>
     
    <br>
    <input type=button value='<--' onClick="two2one(document.forms[0].liste1, document.forms[0].liste2);">
    </td>
    </tr>
    <tr><td colspan=4 align=center>
    <INPUT TYPE="submit" NAME="btn_submit" VALUE="Submit">
    </td></tr>
    </table>
     
    <INPUT TYPE="hidden" NAME="login" VALUE="xxxxx">
    <INPUT TYPE="hidden" NAME="pass" VALUE="xxxxx">
    <INPUT TYPE="hidden" NAME="site" VALUE="xxxxx">
     
    </form>
     
    </html>
    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 plante *
     ******************************************************/
     
    function getliste(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;
        }
    }
    }

  9. #9
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Salut,

    Fais attention à tes balises <script>.

  10. #10
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    teste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <SCRIPT language="javascript" src="travail.js"> 
    </script> 
          <SCRIPT language="javascript" > 
          function on_submit() 
          { 
               getliste(document.forms[0].liste1, document.forms[0].liste2, document.forms[0].listeval1, document.forms[0].listeval2); 
               return true; 
          } 
          </script>

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 171
    Points : 70
    Points
    70
    Par défaut
    Effectivement, je n'ai plus mon erreur Javascript.

    Par contre je vais etre obligée de changer de forum, parce que tout ce que je fais est en Perl et apparemment, tout le javascript marche...

    Merci pour votre aide

  12. #12
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Ben... salut!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/02/2015, 17h21
  2. Réponses: 14
    Dernier message: 15/05/2006, 16h34
  3. [SQL] magic quotes ou double apostrophes pour échapper apostrophe
    Par zorian dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 13/03/2006, 16h23
  4. Réponses: 2
    Dernier message: 24/11/2005, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo