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 :

Formulaire vérifié dynamiquement en javascript


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 2
    Par défaut Formulaire vérifié dynamiquement en javascript
    Bonjour ,
    voila pour mon site web j'ai crée un formulaire d'inscription et afin d'éviter au visiteur de le retaper 5 fois de suite parcequ'il a mal tapé son mot de passe ou autre chose je voulais que mon formulaire soit vérifié en temps réel .
    Ayant les connaissances de bases en javascript , j'ai décidé d'utiliser cette techonologie .

    Voici donc ce que j'ai écrit :
    -Le code html du formulaire :
    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Inscription</title>
           <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
       //insertion du fichier javascript
        <script type="text/javascript" src="validation_javascript.js"></script>
     
     
       </head>
     
    <body>
     
     
     
    <h1>Inscrivez-vous</h1>
     
    <form id="forminscription" action="validation_inscrip.php" method="post" onsubmit="">
     
    <fieldset>   
    <legend>Informations générales</legend>
    <table>
     
    <tr>
    <td>
    <label for="pseudo" id="pseudolabel" >Nom de scène</label>
    </td>
    <td>
    <input type="text" name="pseudo" id="pseudo" value="Nom de scène" onblur="verifpseudo()" />
     
    <tr>
    <td>
    <label for="mdp" id="mdp" >Mot de passe</label>
    </td>
    <td>
    <input type="password" name="mdp" id="mdp" value="Mot de passe" onblur="verifregex(mdp);"/>
    </td></tr>
     
    <tr>
    <td>
    <label for="confirmmdp" id="confirmdp">Confirmation mot de passe</label>
    </td>
    <td>
    <input type="password" name="confirmmdp" id="confirmmdp" onblur="verifconfirm (confirmmdp , mdp) ; " />
    </td></tr>
     
    <tr>
    <td>
    <label for="email" id="email" >Email</label>
    </td>
    <td>
    <input type="text" name="email" id="email" onblur="verifregex(email)" />
    </td></tr>
     
    <tr>
    <td>
    <label for="confirmemail" id="confirmemail" >Confirmation Email</label>
    </td>
    <td>
    <input type="text" name="confirmemail" id="confirmemail" onblur="verifconfirm (confirmemail , email)" />
    </td></tr>
    </table>
    </fieldset>
    <input type="button" value="inscription" onclick="veriffinale();" />
     
    </body>
    </html>
    -et le code javascript :
    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    //fonction permettant de verifier le champ pseudo
    function verifpseudo()
       {
        //on recuper la valeur de pseudo et on teste sa longueur
        var pseudo = document.getElementById("forminscription").elements["pseudo"].value;
        if(pseudo.length <2 || pseudo.length >50)
        {
         //si la longeur est <2 ou >50 alors : 
         //on recupere le champ pseudo et on rend le fond rouge avec #fba
         var pseudocss = document.getElementById("forminscription").elements["pseudo"];
         pseudocss.style.backgroundColor = "#fba";
         //Puis on veut insrer à la suite du champ , un petit encadré qui dit "le pseudo n'est pas valide"
         var encadre = document.createElement('p');
         pseudocss.appendChild(encadre);
         var encadre_text = document.createTextNode("Votre mot de passe est faux");
         encadre.appendChild(encadre_text);
         //on retourne false en vue de la fonction finale de vérification
         return false;
     
        }
        else
        {
         //sinon on laisse le fond avec la couleur par defaut
         var pseudocss = document.getElementById("forminscription").elements["pseudo"];
         pseudocss.style.backgroundColor = "";
         return true;
        }
       }
     
    //fonction permettant de verifier le mot de passe et l'adresse email   
    function verifregex(champ)
    {
     //on recupere d'abord la valeur du champ (mdp ou email)
     var champverif = document.getElementById("forminscription").elements["champ"].value;
     var regex;
     var typec[a-z0-9._-]\.[a-z]{2.4}$/;
      typechamp = "mail";
      conditions = "Il doit être de la forme : lettresLETTRES123456789@messagerie.extension ou messagerie est par exemple \"hotmail\" et l'extention ne contient pas plus de 4 lettres.";
     }
     //ensuite on fait la verfication du champ en fonction de la regex
     if(!regex.test(champverif))
     {
      //on recupere le champ concerné
      var champcss = document.getElementById("forminscription").elements["champ"];
      //pui on lui assigne la couleur rouge
      chamcss.style.backgroundColor = "#fba";
      //on s'occcupe ensuite d'afficher un petit encadré informant le visiteur de l'erreur qu'il a commise
      var encadre = document.createElement("p");
      champcss.appendChild("encadre");
      var encadre_text = document.createTextNode("Le" + typechamp + champverif + "'est pas valide : " + conditions );
      encadre.appendChild(encadre_text);
      //on retourne false pour la fonction de verif finale
      return false;
     }
     else
     {
      //on colorie le champ avec la couleur par defaut
      var champcss = document.getElementById('forminscription').elements['champ'];
         champcss.style.backgroundColor = "";
         // on retourne true pour la fonction de verif finale
         return true;
     }
    }
     
    //fonction permettant de verifier que les confirmation de mot de passe et d'email sont bonne.
    function verifconfirm (champ , champoriginal)
    {
     //on initialise les variables :
     var champverif = document.getElementById("forminscription").elements["champ"].value;
     var valeuroriginal = document.getElementById("forminscription").elements["champoriginal"].value;
     var champcss = document.getElementById("forminscription").elements["champ"];
     var encadre = document.createElement("p");
     var encadre_text = document.createTextNode("Les " + champ + "s que vous avez entré ne sont pas identiques");
     
     
      //on doit donc verifier que les 2 mots de passe sont identiques
      if (champverif != valeuroriginal)
      {
       //on recuper donc l'input que l'on verifie et on le colorie en rouge
       champcss.style.backgroundColor("#fba");
       //puis on affiche un message informant le visiteur de l'erreur qu'il à commise
       champcss.appendChild("encadre");
       encadre.appendChild("encadre_text");
       return false;
      }
      else
      {
       //sinon on laisse la couleur par defaut
       champcss.style.backgroundColor("#fba");
       return true;
      }
     }
    }
     
    function veriffinale()
    {
     //on verifie si les fonction de verification retournent bien toutes true
     if ( verifpseudo () == true && verifregex () == true && verifconfirm () == true)
     {
      //on autorise l'envoi
      alert("c'est ok");
     }
     else
     {
      //sinon on affiche un message d'erreur
      alert("Le formulaire n'a pas été correctement rempli");
     }
    }
    Voila
    Pour l'instant , seul le formulaire s'affiche .Aucune trace du fond des champs qui devraient se colorier en rouge lorsqu'une erreur est commise ni du message d'erreur qui doit s'affichier à coté .Ne parlon meme pas de la fonction finale qui doit tout verifier avant d'autoriser le submit !

    Comme rien ne mache avec le javascript , je me deman de si je ne l'ai pas mal inséré mais je n'arrives pas a trouver l'erreur .
    De plus il y a peut etre d'autres erreurs .

    Si quelqun arrive a trouver ces erreur ca m'enleverait une sacré epine du pied .
    merci d'avance pour toutes les reponses

  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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    Du principe de base de vérification des formulaires
    http://www.developpez.net/forums/d55...ion+formulaire
    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 !

Discussions similaires

  1. Créer un formulaire dynamique en javascript
    Par jojo perpedu dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 11/01/2015, 16h27
  2. Formulaire dynamique en Javascript
    Par Endast dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 04/07/2014, 10h05
  3. formulaire tabulaire dynamique
    Par whoesnext dans le forum IHM
    Réponses: 1
    Dernier message: 15/12/2005, 17h48
  4. [DisplayTag] Créer un lien dynamique avec javascript
    Par babylone7 dans le forum Taglibs
    Réponses: 3
    Dernier message: 20/04/2005, 10h23
  5. variable à nom dynamique en javascript
    Par noa dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/01/2005, 01h12

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