Discussion: Détecter "Caps Lock"

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    février 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2007
    Messages : 89
    Points : 44
    Points
    44

    Par défaut Détecter "Caps Lock"

    Bonjour !

    Voilà, je fais actuellement un formulaire de modification de mot de passe.
    Afin de prévenir un risque d'erreur mais afin de laisser le main libre à l'utilisateur, je voudrais savoir s'il était possible de détecter si la touche "caps lock" est activée ?
    Je désir en fait juste afficher un message si c'était le cas.

    Voilà, merci beaucoup !

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    février 2006
    Messages
    3 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2006
    Messages : 3 651
    Points : 4 755
    Points
    4 755

    Par défaut

    trouvé sur le net :

    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans nom</title>
    <script language="Javascript">
    function capLock(e){
     kc = e.keyCode?e.keyCode:e.which;
     sk = e.shiftKey?e.shiftKey:((kc == 16)?true:false);
     if(((kc >= 65 && kc <= 90) && !sk)||((kc >= 97 && kc <= 122) && sk))
      document.getElementById('divMayus').style.visibility = 'visible';
     else
      document.getElementById('divMayus').style.visibility = 'hidden';
    }
    </script>
     
    </head>
     
    <body>
    <SPAN><input type="password" name="txtPassword" onkeypress="capLock(event)" />
    <SPAN><div id="divMayus" style="visibility:hidden">Caps Lock Activé.</div> 
    </body>
    </html>
    source originale : http://www.codeproject.com/KB/script...Caps_Lock.aspx
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    février 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2007
    Messages : 89
    Points : 44
    Points
    44

    Par défaut

    Ok merci bien !
    J'avais cherché sur le web pourtant ... (très mal surement ^^')

    Enfin, le code marche bien, et cela me convient ^^

    Cependant, j'aurais voulu savoir si on pouvait faire autrement.
    Je m'explique : là, on détecte à chaque caractère entré les caractères majuscules lorsque la touche "shift" n'est pas utilisée.
    Cependant, peut-on détecter l'état de la touche "caps lock" directement ?
    Ce qui pourrait être utile par exemple utilisé avec un "onLoad".
    Ou bien de pouvoir afficher le message lorsque l'on a juste activé la touche "caps lock" sans encore avoir tapé un caractère.

    Voilà, en tout cas, merci beaucoup pour la réponse

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    février 2006
    Messages
    3 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2006
    Messages : 3 651
    Points : 4 755
    Points
    4 755

    Par défaut

    alors la réponse a la question => peut-on détecter la touche caps lock activée est non

    les solutions permettant de vérifier si l'utilisateur est en majuscule est la seule solution a ma connaissance.

    plusieurs cas de figure peuvent apparaitrent :

    - l'utilisateur active le caps lock en dehors de ta page
    - l'utilisateur reste enfoncé sur la touche shift.

    il vaut donc mieux vérifier au moment de la saisie
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    février 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2007
    Messages : 89
    Points : 44
    Points
    44

    Par défaut

    Ok, merci beaucoup le_chomeur

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Ergonome
    Inscrit en
    mai 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : mai 2017
    Messages : 5
    Points : 6
    Points
    6

    Par défaut Ergonomie

    Il m'est arrivé quelquefois une chose embarrassante : commencer à taper mon mot de passe alors que j'étais toujours dans la case "login" ou pseudo !

    Résultat : le mot de passe s'affiche en clair, ce qui peut être embêtant si il y a quelqu'un à côté de vous par exemple

    donc j'ai eu l'idée de la protection suivante contre cette erreur :

    la page a besoin de connaître la première lettre de votre password

    si ce que vous commencez à taper comme login commence par cette lettre, alors elle n'affiche plus ce que vous tapez, ou elle affiche des points, ou un message d'erreur

    ce dispositif serait mis en place automatiquement au moment de l'inscription

    bien sûr il faudrait avertir les utilisateurs de ne pas faire commencer leur login et leur mdp par la même lettre/chiffre

    que pensez-vous de mon idée et savez-vous si elle a déjà été implémentée quelque part ?

  7. #7
    Membre éprouvé Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    septembre 2002
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : septembre 2002
    Messages : 741
    Points : 1 164
    Points
    1 164

    Par défaut

    Euh.... Normalement pour savoir par quelle lettre commence le mot de passe d'un utilisateur il faut que le système connaisse son nom. Non ?
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Ergonome
    Inscrit en
    mai 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : mai 2017
    Messages : 5
    Points : 6
    Points
    6

    Par défaut mouais

    c'est vrai qu'il y a un obstacle logique...

    que je suis bête, alors comment empêcher qu'on tape son mdp en clair quand on s'est positionné par erreur dans la fenêtre de login

    à part le login à saisir en clavier mais le mot de passe à saisir à la souris, ce qui est un très bon système je pense (sauf si quelqu'un peut regarder par dessus votre épaule, justement)

  9. #9
    Membre éprouvé Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    septembre 2002
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : septembre 2002
    Messages : 741
    Points : 1 164
    Points
    1 164

    Par défaut

    Eventuellement tu peux faire comme les applications bancaires. Bon il n'y a que des chiffres mais leur disposition sur le "clavier numérique" change à chaque fois.

    De toute façon même sans "obstacle logique" en y repensant tu ne pourrais pas utiliser la première lettre du mot de passe. En effet si le boulot est bien le mot de passe est crypté et la cryptage de la première lettre ne donnera pas le même code que le cryptage de cette même lettre avec les autres.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

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

Discussions similaires

  1. Num Lock / Caps Lock
    Par barbu0055 dans le forum AWT/SWING
    Réponses: 3
    Dernier message: 05/07/2005, 17h17
  2. Activer la touche Caps Lock
    Par jagoulard dans le forum AWT/SWING
    Réponses: 5
    Dernier message: 13/01/2005, 20h42

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