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 :

Prise en compte des changements d'un formulaire


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Novembre 2019
    Messages
    61
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 25
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 61
    Par d�faut Prise en compte des changements d'un formulaire
    Bonjour,

    Je suis �tudiant, et d�butant en JavaScript.

    J'ai cr�� une page de connexion sur un site, et je veux rendre cette page dynamique.

    Mon but est de permettre � l'utilisateur de voir si, pour son pr�nom, il a bien mis la premi�re lettre en majuscule et les autres en minuscule, si c'est le cas, un OK vert s'affiche � droite de l'<input> du pr�nom, sinon, c'est une croix rouge.

    Mon code ne fonctionne pas, puisque lorsque je tape dans le champ Pr�nom quelque chose, cela ne r�agit pas.

    La page connexion.php :

    Code html : 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
    <?php
    ?>
    <html>
    <head>
        <title>Page de connexion</title>
    </head>
    <h1>Connexion : </h1>
    <h2>Entrez vos noms et prénoms et votre mot de passe : </h2>
    <form action="../controleurs/traitementConnexion.php" method="post" onchange="return validateForm()">
        <p><label>Prénom</label> : <input type="text" name="prenom" id="inputConnexionPrenom"><span id="prenom"></span></p>
        <p><label>Nom</label> : <input type="text" name="nom"></p>
        <p><label>Mot de passe</label> : <input type="password" name="mdp"></p>
        <input type="submit" name="validation">
    </form>
    <script src="jsfile.js"></script>
    </html>

    , et la page JavaScript jsfile.js associ�e :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function validateForm() {
        prenom = document.getElementById("prenom");
        inputConnexion = document.getElementById("inputConnexionPrenom");
        inputConnexion.addEventListener('input', function updateValue(e) {
            if(e.substr(0, 1) === e.substr(0, 1).toUpperCase() && e.substr(1) === e.substr(1).toLowerCase()) {
                prenom.textContent = "OK";
                prenom.style.color = "green";
            } else {
                prenom.textContent = "X";
                prenom.style.color = "red";
            }
        })
    }
    J'ai cherch�, mais je n'arrive pas � trouver ce qui est � l'origine de ce probl�me.

    Auriez-vous une id�e concernant ce probl�me ?

    En vous remerciant par avance pour votre r�ponse,

    Bien cordialement

  2. #2
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Bonjour,
    ton code es inutilement compliqu�, � chaque fois que tu valides tu ajoutes un �couteur sur l'<input> qui ne sera effectif qu'� la saisie suivante.
    De plus lorsque l'on �crit une fonction de rappel, ta fonction updateValue le param�tre r�cup�r� correspond � l'objet Event donc tu ne peux pas l'utiliser tel que.

    Exemple de ce que cela pourrait �tre en pla�ant l'�couteur directement sur l'�l�ment <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
    21
    22
    23
    function verifFormulaire (ev){
      // récup. champ en cours de saisie
      const elem = ev.target;
      // récup du name de l'élémentt, on pourrait faire directement elem.name
      const elName = elem.getAttribute("name");
      // récup le valeur de l'élément
      const elValue = elem.value;  // déclarer avec let si modif à faire
      // juste pour voir
      console.log("Objet en cours :", elem);
      // on traite suivant le cas avec if ou encore un switch
      if( "nom" === elName){
        console.log("vérif du nom");
      }
      if( "prenom" === elName){
        console.log("vérif du prenom");
      }
      if( "mdp" === elName){
        console.log("vérif du mot de passe");
      }
    }
    // on place l'écouteur sur le formulaire
    const oForm = document.querySelector("form");
    oForm.addEventListener("input", verifFormulaire);
    PS : si le but est de mettre juste la premi�re lettre en majuscule il doit bien exister des milliers de fa�ons de faire avec plus ou moins de contrainte !

  3. #3
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Novembre 2019
    Messages
    61
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 25
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 61
    Par d�faut
    D'accord, merci beaucoup pour ta r�ponse,

    J'ai suivi tes conseils, et maintenant, j'ai r�ussi � faire ce que je voulais pour mon formulaire, sans trop le charger d'�couteurs sur les <input>.

    Merci pour ton aide,

    Bien cordialement

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probl�me de prise en compte des variables Python
    Par PythonNovices dans le forum G�n�ral Python
    R�ponses: 2
    Dernier message: 12/05/2015, 10h31
  2. [VxiR2] Probl�me de prise en compte des accents
    Par Migraine dans le forum Designer
    R�ponses: 4
    Dernier message: 05/08/2011, 10h33
  3. non prise en compte des changements de form.design
    Par rosana23 dans le forum Windows Forms
    R�ponses: 24
    Dernier message: 01/01/2010, 11h35
  4. Prise en compte des changements de droits dans un partage Windows
    Par lesouriciergris dans le forum S�curit�
    R�ponses: 1
    Dernier message: 10/11/2009, 09h33
  5. R�ponses: 3
    Dernier message: 08/11/2009, 11h45

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