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 :

Contrôle de champs obligatoires d'un formulaire


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de lolymeupy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2006
    Messages : 402
    Par défaut Contrôle de champs obligatoires d'un formulaire
    Bonjour,
    j'ai un problème sur une fonction javascript qui est censé me permettre de controler si les champs obligatoires de mon formulaire sont vides ou non

    Voici des extraits du code de mon formulaire :
    - je declare le .js où se trouve la fonction que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <head>
    ...
    <script src="scripts/controle_champ.js"></script>
    </head>
    - extrait(1) du formulaire que j'utilise pour le test (un label et un input 'text' correspondant): :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    <td><label for="titre_evt">Titre évènement: *<br/><FONT SIZE="1"><I>( max. 100 caractères )</I></FONT></label></td>
    <td><input type="text" maxlength="100" size="51" name="titre_evt" value="" id="titre_evt"><br /></td>
    ...
    - extrait(2) du formulaire (c'est le bouton censé déclencher la fonction) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    <input type="button" value="Valider" id="valider" onclick="valider_formulaire(this.form)" class="button"/>
    ...
    - et le code mon fichier controle_champ.js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    valider_formulaire(thisForm)
     
    {
     
        if(thisForm.titre_evt.value == '')
        {
             thisForm.titre_evt.value ='ok';
             //thisForm.usager.focus();
             return false;
        }
    }
    En gros, je test ici de mettre value 'ok' dans mon input 'text' titre_evt, si la value de celui-ci est vide...
    Mais 'ok' ne s'affiche pas dedans, et je sais pas d'où viens le bug...
    Merci d'avance...

  2. #2
    Membre chevronné
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="valider_formulaire(this);"

  3. #3
    Membre éclairé Avatar de lolymeupy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2006
    Messages : 402
    Par défaut
    J'ai testé ce que t'as mis Gats, mais pas ça marche toujours...

    J'ai mis ça dans mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ...onclick="valider_formulaire(this)"...
    (j'ai gardé onclick plutot que onsubmit parce que j'ai un <input type"button...
    et pas un <input type"submit"...)
    (j'ai essayé avec les 2 qd mêmes, au cas où,... mais sans résultat...)

  4. #4
    Membre chevronné
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Par défaut
    une omission ?

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    valider_formulaire(thisForm){
     
    }

    au lieu de :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function valider_formulaire(thisForm){
     
    }

  5. #5
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Le onsubmit est à mettre dans le <form

  6. #6
    Membre éclairé Avatar de lolymeupy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2006
    Messages : 402
    Par défaut
    Oups, t'as raison Gats, j'ai oublié le function...
    Et effectivement, je viens de tomber sur un tuto où j'ai vu que le onsubmit est dans le form...j'avais pas compris...
    Donc, un grand merci à vous deux....'s
    Par contre, une fois ces 2 erreurs réparées, ça marche mais il m'envoie quand même vers enreg_evt.php ...


    voilà mon code maintenant :
    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
     
    ...
    <script src="scripts/controle_champ.js"></script>
    </head>
     
    <body>
    <form enctype="multipart/form-data" action="enreg_evt.php" method="post" onsubmit="valider_formulaire(this)">
    ...
     
     
    ...
    <td><label for="titre">Titre évènement: *<br/><FONT SIZE="1"><I>( max. 100 caractères )</I></FONT></label></td>
    <td><input type="text" maxlength="100" size="51" name="titre_evt" value="" id="titre_evt"><br /></td>
    ...
     
    ...
    <input type="submit" value="Valider" id="valider" class="submit"/>
    ....
    //et le fichier controle_champ.js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function valider_formulaire(thisForm)
    {
        if(thisForm.titre_evt.value == '')
        {
             thisForm.titre_evt.value ='ok';
             //thisForm.usager.focus();
             return false;
        }
    }
    et donc, une fois "sur" enreg_evt.php, si je recule d'une page, je retombe bien sur mon formulaire et il y a bien 'ok' dans mon input type='text'...
    Ce que je voudrais savoir, c'est comment l'empecher d'aller sur le script .php puisque la condition de la fonction .js est vérifiée et donc qu'il retourne 'false'...
    Une idée ...?

  7. #7
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Tu as oublié le return.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onsubmit="return valider_formulaire(this)">

    Et ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    function valider_formulaire(thisForm)
    {
        if(thisForm.titre_evt.value == '')
        {
             thisForm.titre_evt.value ='ok';
             //thisForm.usager.focus();
             return false;
        }
        return true;
    }

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

Discussions similaires

  1. contrôles des champs saisis dans un formulaire
    Par barouz dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 06/12/2013, 13h55
  2. [XHTML] Problème avec les champs obligatoires d'un formulaire
    Par elodie13 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 26/09/2006, 14h45
  3. Champs obligatoires dans un formulaire
    Par sagitarium dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 23/05/2006, 16h55
  4. champs obligatoires (modification par formulaire)
    Par milielf dans le forum Access
    Réponses: 2
    Dernier message: 22/05/2006, 11h36
  5. Champs obligatoires dans un formulaire
    Par glloq8 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/09/2005, 16h24

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