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 :

Verification du remplissage de plusieurs champs [Fait]


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Par défaut Verification du remplissage de plusieurs champs
    Bonjour,

    Toujours avec le tutoriel j'ai trouvé comment vérifier si à la validation du formulaire un champ a été rempli. J'ai essayé avec mes maigres connaissances de l'appliquer à plusieurs champs, sans succès. J'ai 8 input et un textarea à vérifier.

    Le code du tuto:
    <script type='text/javascript'>
    function verif(idInput, valeurVide, descriptionChamp)
    {
    var input = document.getElementById(idInput);

    if (input.value == valeurVide) {
    input.focus();
    alert('Vous devez renseigner le champ "' + descriptionChamp + '".');
    } else
    alert('Le champ "' + descriptionChamp + '" est bien rempli.');
    }
    </script>
    <input id="text9" type="text"/>
    <input onclick="verif('text9', '', 'nom du champ texte');"
    value="verif('idInput', '', 'nom du champ texte')" type="button"/>
    <select id="select9">
    <option value="0">- Faites un choix -</option>
    <option value="1">Choix 1</option>
    <option value="2">Choix 2</option>
    <option value="3">Choix 3</option>
    </select>
    <input onclick="verif('select9', 0, 'nom du champ select');"
    value="verif('idInput', 0, 'nom du champ select')" type="button"/>
    J'ai donc appelé l'Id de chacun de mes champs, j'ai copié-modifié
    var input = document.getElementById(idInput);
    pour chaque valeur.

    J'affecte 0 à une variable et je fais un "if" pour chaque champ. S'il est vide je rajoute 1 à la variable.

    Enfin, je teste la variable. Si elle est >0 j'envoie un message d'erreur.


    Seulement ça ne fonctionne pas.

    Je fais donc appel à vous pour me mettre dans la voie.
    Sans forcément me mâcher le code, ça m'aiderait beaucoup que vous m'indiquiez dans quelle voie je dois chercher.

    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Billets dans le blog
    1
    Par défaut
    Yop!

    Lorsque je dois vérifier plusieurs champs, j'utilise un truc du genre:

    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
     
    <html>
    <head>
    <script type="text/javaScript">
    thenames = new Array("nom", "prenom", "continent");
    thetitles = new Array("Nom", "Prénom", "Continent");
    function checkinput()
    {
      fieldstring ="";
      for (var i = 0; i < thenames.length; i++)
        {
        if (eval("document.forms[0]." + thenames[i] + ".value")=="")
          {
    	fieldstring = fieldstring + thetitles[i] + ", \n"
    	}
        }
      if (fieldstring!="")
        {
        alert("Vous devez compléter le(s) champ(s) suivant(s) : \n\n" + fieldstring + "\n " );
        }	
      else
        {
        document.forms[0].submit();
        }
    }
    </script>
    </head>
     
    <body>
     
    <form action="quelquechose.php" method="post">
    Nom:<input type=text name='nom' value=''>
    <br>
    Prénom:<input type=text name='prenom' value=''>
    <br>
    Continent:<select name='continent'>
    <option value='' selected>Sélectionnez un continent</option>
    <option value='Afrique'>Afrique</option>
    <option value='Amérique du Nord'>Amérique du Nord</option>
    <option value='Amérique du Sud'>Amérique du Sud</option>
    <option value='Asie'>Asie</option>
    <option value='Europe'>Europe</option>
    <option value='Océanie'>Océanie</option>
    </select>
    <br>
    <input type=button value="Go!"  onclick="checkinput()">
    </form>
     
    </body>
    </html>
    Ca évite d'avoir un alert() par champ.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Par défaut
    Pour les vérifications de formulaires voir ici dans les contributions

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Par défaut
    Merci beaucoup, je vais essayer de travailler à partir de ça.

    Dès que ça fonctionne je clique sur "résolu"

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Par défaut
    Le code de ryan est parfaitement adapté à mes besoins, simple à inclure, et en plus modulable à souhait. super!

    Par contre va falloir que je réfléchisse à la raison pour laquelle je reçois mon message par mail en double.

    Merci beaucoup!


    Ju

  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
    si tu avais suivi le tuto des contributions je penses que tu n'aurais pas le message en double ...

    la validation ne doit pas etre blqouée en cas d'echec de verification .
    il faut passer par le onsubmit
    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. [AC-2007] Remplissage de plusieur champs selon valeur.
    Par adelion dans le forum Access
    Réponses: 2
    Dernier message: 26/04/2015, 14h43
  2. Réponses: 0
    Dernier message: 28/02/2008, 14h46
  3. [CR] Groupement dynamique sur plusieurs champs paramètrés
    Par CDRIK dans le forum SAP Crystal Reports
    Réponses: 8
    Dernier message: 07/06/2004, 17h55
  4. recuperer les id sur plusieurs champs
    Par matN59 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/03/2004, 10h23
  5. [CR9] Plusieurs champs dans details
    Par maxxou dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 28/01/2004, 13h35

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