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 :

Evenement sur un input


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 191
    Points : 80
    Points
    80
    Par défaut Evenement sur un input
    Bonjour ^^

    Je reviens vers vous pour une petite question

    Voilà, j'essaye de dynamiser un peu mon champ d'inscription (ca fait parti de mon apprentissage )

    En gros je voulais que dans la partie "email" si l'utilisateur n'a pas mis d'@ alors le cadre serait rouge ou encore, la fameuse petite phrase en rouge qui s'affiche "ce mail n'est pas conforme blablabla"

    donc voila la parti js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var mail = document.getElementById('email');
     
    mail.addEventListener('input', validation);
     
    function validation(){
        if (!value.includes('@'))
            mail.style.borderColor = 'red'
        else
            mail.style.borderColor ='green'
    }
    partie html :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <p>
                                    <label for="password">Mot de passe :</label>
                                    <input type="password" id="password" name="password" placeholder="entrer votre mot de passe" required>
                                </p>

    Le souci viens de "value", mais je pensais que c'était quelque chose intuitif avec JS... ça doit être tout bête je suis sur mais bon ^^
    Il doit aussi y avoir une manière plus raccourci de faire cela mais je préfère pour le moment bien développer mes codes

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Tu parles d'email, et montres un input de password ?


    1- Pour un email :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="email" ..../>
    Ça suffit.

    2- Pour un mot de passe :
    Si tu veux verifier/valider en JavaScript : longueur mini/maxi, majuscules, minuscules,...
    Tu trouveras de nombreux scripts :


    3- quand on ne connais pas une fonction, ou comment l'utiliser, on cherche aussi dans la DOC :


  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 191
    Points : 80
    Points
    80
    Par défaut
    OUps j'ai copié la mauvaise partie !!

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <p>
            <label for="mail">E-mail :</label>
            <input type="email" id="email" name="email" placeholder="entrer votre email" required>
    </p>

    Mais je voulais juste une réponse simple de mon code !!
    De plus, je ne sais pas trop comment chercher sur ce site... Et la plupart du temps je ne comprends pas les réponses... C'est pour cela que je pose ma question ici, pour avoir une réponse personnel...

  4. #4
    Invité
    Invité(e)
    Par défaut
    La réponse simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="email" ..../>
    suffit pour vérifier/valider un email.


    Une solution à ton "exercice" :
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var mail = document.getElementById('email');
    mail.addEventListener("blur", function(){
      var mail_val = mail.value;
    //  if ( !mail_val.includes('@') || !mail_val.includes('.') )
      if ( mail_val.indexOf('@')<0 || mail_val.indexOf('.')<0 )
      {
        mail.style.borderColor = 'red';
        alert(mail_val + " : ce n'est pas un email valide.");
      }
      else
      {
        mail.style.borderColor ='green';
      }
    }, false);
    Attention :
    • on vérifie que l'email N'est PAS valide en testant l'absence de l'un ou de l'autre des caractères "@" et "."
    • Ca NE signifie PAS que, dans le cas contraire, l'email est valide.

    On pourrait utiliser une regex pour vérifier que l'email EST valide... (on en trouve sur le web)
    Sauf que les normes d'écriture des emails évoluent (avec ou sans accents,....).
    Donc, la regex risque de devenir obsolète.


    Remarque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      if ( !mail_val.includes('@') || !mail_val.includes('.') )
      if ( mail_val.indexOf('@')<0 || mail_val.indexOf('.')<0 )
    Ces 2 lignes donnent un résultat équivalent. (on peut utiliser l'un ou l'autre)


    Citation Envoyé par d3LTa7 Voir le message
    ... Et la plupart du temps je ne comprends pas les réponses...
    Si tu n'as pas les bases (du langage), ce n'est pas étonnant.

    Il faut APPRENDRE pour pouvoir COMPRENDRE.
    Et ça, on ne peut pas le faire à ta place.

    Le mieux serait que tu suives des COURS, avec des EXERCICES à faire (avec les réponses et explications).
    Dernière modification par Invité ; 20/08/2018 à 14h17.

  5. #5
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 890
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 890
    Points : 3 729
    Points
    3 729
    Par défaut
    Citation Envoyé par d3LTa7 Voir le message
    En gros je voulais que dans la partie "email" si l'utilisateur n'a pas mis d'@ alors le cadre serait rouge ou encore, la fameuse petite phrase en rouge qui s'affiche "ce mail n'est pas conforme blablabla"
    Juste pour info : les navigateurs font cela nativement avec l'attribut "pattern" :

    Citation Envoyé par MDN
    Une expression rationnelle qui permet de vérifier la valeur saisie. L'expression doit correspondre à la valeur entière. L'attribut title peut être utilisé pour décrire le motif et aider l'utilisateur. Cet attribut est appliqué lorsque type vaut text, search, tel, url, email ou password, dans les autres cas, il est ignoré. Le langage d'expression rationnelle est le même que celui utilisé en JavaScript (cf. RegExp) et le paramètre 'u' permet de traiter l'expression comme une suite de codets Unicode. L'expression utilisée n'est pas entourée de barres obliques (slash).
    Il y a des exemples ici : https://www.w3schools.com/tags/att_input_pattern.asp

    Encore une fois c'est juste pour info...

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

Discussions similaires

  1. Evenement Onchange sur un Input Type text
    Par vikking dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 27/02/2012, 11h01
  2. evenement sur input text
    Par lesafir dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/08/2007, 12h01
  3. Evenement sur objet dynamique
    Par CanardJM dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 19/11/2004, 13h56
  4. Evenement sur les barres de défilement d'une ScrollBox
    Par Nico118 dans le forum C++Builder
    Réponses: 2
    Dernier message: 06/05/2004, 14h56
  5. [FLASH MX 2004] [ecouteur] evenements sur un clip
    Par marco_ dans le forum Flash
    Réponses: 2
    Dernier message: 30/04/2004, 13h28

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