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 :

Récupérer la saisie au clavier d'un nombre supérieur à 9


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de marcootz
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 159
    Par défaut Récupérer la saisie au clavier d'un nombre supérieur à 9
    Salut à tous,

    Je cherche à faire un script pour récupérer la saisie de chiffres au clavier, de 1 à 15. Je parviens bien à détecter les saisies des nombres de 0 à 9 et à lancer mon traitement après cela.
    Mon problème est pour récupérer la saisie de nombre supérieur à 9. Par exemple si l'utilisateur veux saisir 12, je récupère le 1 et mon traitement est lancé qu'il n'ai pu saisir le chiffre 2.

    Y a t'il un moyen de mémoriser la saisie pendant disons une seconde, pour pourvoir récupérer le 2° chiffre et ainsi pouvoir faire fonctionner mon script pour les nombres supérieurs à 9 ??

    Voici le début de mon script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
         function codeTouche(evenement){
                        for (prop in evenement){
                               if(prop == 'which') return(evenement.which);
                        }
                        return(evenement.keyCode);
              }
     
              function scanTouche(evenement){
                         var codeDecimal  = codeTouche(evenement);
                         var car = String.fromCharCode(codeDecimal);
                         if(car>0 && car<=9){
                             //mon traitement
                        }
              }
    Merci d'avance pour votre aide.
    A+

  2. #2
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    as tu essaye la méthode setTimetout .... qui te permet d'attendre le délai passer en entrée .... apparemment tu peux continuer a enregistrer les valeurs saisies ... a tester

  3. #3
    Membre confirmé Avatar de marcootz
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 159
    Par défaut
    Ok j'ai utilisé la fonction settimeout pour faire le code suivant. Je pense qu'il est possible de l'optimiser mais en tout cas ça fonctionne comme ça :
    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
                <script language="javascript">
                   function codeTouche(evenement){
                      for (prop in evenement){
                               if(prop == 'which') return(evenement.which);
                      }
                      return(evenement.keyCode);
                   }
     
                   function wait(){
                        var val=document.getElementById('memoTouche').value;
                        if(val>0 && val<11){
                            //mon traitement
                        }
                        document.getElementById('memoTouche').value = "";
                   }
     
                   function scanTouche(evenement){
                      var codeDecimal  = codeTouche(evenement);
                      var car = String.fromCharCode(codeDecimal);
                      if(car>=0 && car<=9){
                      document.getElementById('memoTouche').value+=car;
                      setTimeout("wait()",700);
                      }
                    }
                </script>
    J'ai utilisé le label caché "memoTouche" comme zone de stockage du premier caractère. Je pense que j'aurais du utiliser une variable globale...
    Merci Laurentibus

  4. #4
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    0.7 sec c'est peut être un peu léger .... si tu tombes sur des lents

    je verrais plus le double.... non allez 1 sec ça sonne bien .... enfin apres faut voir si sa colle avec le reste ....

    no pb
    ++

  5. #5
    Membre confirmé Avatar de marcootz
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 159
    Par défaut
    C'est vrai qu'il vaut mieux partir sur 1 seconde...
    A+

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

Discussions similaires

  1. Récupérer une saisie clavier de l'utilisateur
    Par le y@m's dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 23/09/2019, 19h25
  2. récupérer la saisie de mon clavier en ruboto
    Par miarfe dans le forum Ruby
    Réponses: 0
    Dernier message: 27/10/2013, 02h01
  3. Récupérer la saisie de mon clavier !
    Par wiss20000 dans le forum Langage
    Réponses: 12
    Dernier message: 23/11/2010, 15h23
  4. Réponses: 3
    Dernier message: 21/03/2010, 21h22
  5. récupérer la saisie clavier
    Par cassy dans le forum Windows
    Réponses: 2
    Dernier message: 15/10/2007, 10h47

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