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 :

[DOM] Vérification d'un formulaire avec "bouton submit grisé"


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 3
    Par défaut [DOM] Vérification d'un formulaire avec "bouton submit grisé"
    Bonsoir à tous,
    Je viens pour requérir votre aide. Je suis débutant en Javascript et confirmé en PHP. Je suis entrain de créer un système d'inscription. J'avais l'habitude de vérifier si les champs étaient remplit en PHP, mais j'ai voulu tenter l'aventure en Javascript.

    Explication :
    Mon but est, lorsque tous les champs sont remplis, que le bouton "S'inscrire" deviennent cliquable (tant que tous les champs ne sont pas remplis, il reste donc "grisé").


    Voici donc mon code Javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function ChangeStatut(formulaire) {
    if(formulaire.regagree.checked == true) && (formulaire.pseudo.value.length > 0)  && (formulaire.email.value.length > 0) && (formulaire.motdepasse.value.length > 0)
    {formulaire.validation.disabled = false }
    }
    Et voici mon formulaire en xHTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <form method="post">
    Pseudo : <input type="text" name="pseudo" onChange="ChangeStatut(this.form)" /><br /><br />
    Mot de passe : <input type="password" name="motdepasse" onChange="ChangeStatut(this.form)" />
    <br /><br />
    E-mail : <input type="text" name="email" onChange="ChangeStatut(this.form)" /><br /><br />
     
    <input type="checkbox" name="regagree" value="valeur" onClick="ChangeStatut(this.form)" /> J'accepte les <a href="#">Conditions Générales d'Utilisation</a><br /><br />
    <input type="submit" name="validation" value="S'inscrire" />
     
    </form>
    Merci d'avance pour votre aide, amicalement, SunBoy

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    formulaire ... ???

    et il va le trouver par magie ???
    ton form n'a ni nom ni id comment veux tu que le DOM le trouve ???

    si tu ne veux pas mettre de nom ou d'id à ton form il faut passer par la methode generique et adopter une syntaxe plus rigoureuse ...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms[0].elements['nomelement'].value
    sinon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms['nomform'].elements['nomelement'].value
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onChange="ChangeStatut(this.form)
    @SF : this représente l'input, this.form le formulaire contenant l'input, donc tout va bien

    @SunBoy : qu'est-ce qui ne marche pas dans ton code?

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    arf oui désolé pas vu le this ...


    pa rcontre onChange => onchange
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 3
    Par défaut
    Bonsoir à tous et merci de vos réponses,
    Lorsque tous les champs sont remplis, le bouton ne se dégrise toujours pas, et je n'arrive pas à comprendre pourquoi.
    Désolé de ne pas avoir été plus explicite.

    Amicalement, SunBoy
    PS: Je modifierai onChange ^^

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    deux choses:

    la condition doit etre globale dont entre ()
    et utilise plutot une syntaxe plus rigoureuse pour les elements de form

    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
     
    <script type='text/javascript'>
    function ChangeStatut(formulaire) {
    if((formulaire.elements['regagree'].checked) && (formulaire.elements['pseudo'].value.length > 0)  && (formulaire.elements['email'].value.length > 0) && (formulaire.elements['motdepasse'].value.length > 0))
    {formulaire.elements['validation'].disabled = false }
    }
    </script>
    </head>
     
    <body>
    <form method="post">
    Pseudo : <input type="text" name="pseudo" onchange="ChangeStatut(this.form)" /><br /><br />
    Mot de passe : <input type="password" name="motdepasse" onchange="ChangeStatut(this.form)" />
    <br /><br />
    E-mail : <input type="text" name="email" onchange="ChangeStatut(this.form)" /><br /><br />
     
    <input type="checkbox" name="regagree" value="valeur" onclick="ChangeStatut(this.form)" /> J'accepte les <a href="#">Conditions Générales d'Utilisation</a><br /><br />
    <input type="submit" name="validation" value="S'inscrire" disabled="disabled" />
     
    </form>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. Formulaire avec 2 boutons submit
    Par rhinolophus dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 26/08/2014, 12h37
  2. formulaire avec plusieurs boutons submit dont une image
    Par mounia.n dans le forum Langage
    Réponses: 4
    Dernier message: 04/08/2008, 16h52
  3. Formulaire avec trois boutons submit
    Par ecdxml dans le forum Langage
    Réponses: 11
    Dernier message: 08/06/2008, 21h10
  4. Un formulaire avec plusieurs boutons "submit"
    Par novices dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 11/09/2006, 21h25
  5. Formulaire avec deux boutons submit
    Par Taz_8626 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 30/03/2006, 11h41

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