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 :

Comment ecrire dans l'évènement event.keycode


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Comment ecrire dans l'évènement event.keycode
    je suis en train d'ecrire un code html contenant 4 input allant recevoir une adresse ip.

    j'utilise l'evènement onKeypress pour interdire l'entrée de lettre ou de caractère spéciaux dans les champs sauf les touches entrée, supp, ou la tabulation.

    Seulement j'aimerais que la touche 46 (le point) à la place d'être interdite renvoi le code ascii de la tabulation. En quelque sorte qu'elle ait la même fonctionnalité que la touche tab (de sorte de changer de champs de saisie sans passer par la souris lors de l'entrée d'une adresse IP). J'ai lu la doc de "event.keycode" et j'ai lu que cette propriété etait read/write.

    voici mon code HTML:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <input name="classA" maxlength="3" onKeypress="return Key_Verif(event);">
    <input name="classB" maxlength="3" onKeypress="return Key_Verif(event);">
    <input name="classC" maxlength="3" onKeypress="return Key_Verif(event);">
    <input name="classD" maxlength="3" onKeypress="return Key_Verif(event);">
    et 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
    function Key_Verif(event)
    {
      var a = event.Keycode;  /* IE */
      var b = event.which;      /* Mozilla */
    
      if((b==46)||(a==46)){
        event.Keycode = 9;
        event.which = 9; 
      }
    
      if ((a>47&&a<58)||(a==8)||(a==9)||(a==10)||(a==13)||(a==46)||(a==37)||(a==38)||(a==39)||(a==40)) return true;
      if ((b>47&&b<58)||(b==8)||(b==9)||(b==10)||(b==13)||(b==127)) return true;
    
      return false;
    }
    ce code ne fonctionne pas.
    pour arriver à mes fins suis je dans la bonne voie?
    y a t-il une autre methode pour detourner la fonctiopnnalité des touches?

    merci bcp

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 647
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 647
    Points : 11 136
    Points
    11 136
    Par défaut
    bonjour,

    petite remarque d'abord : écris les événements en minuscules : onkeypress ; de même : keyCode

    plutôt que de redonner une valeur à keycode, pourquoi ne donnes-tu pas le focus à l'input suivant lors de l'appui sur le point ?

    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
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    function Key_Verif(ev, n)
    {
     var m = n+1;
     if (ev.keyCode==46 && m<5)
       document.getElementById("id"+m).focus();
    }
     
    //-->
    </script>
     
    </head>
     
    <body>
    <input id="id1" name="classA" maxlength="3" onkeypress="return Key_Verif(event,1);">
    <input id="id2" name="classB" maxlength="3" onkeypress="return Key_Verif(event,2);">
    <input id="id3" name="classC" maxlength="3" onkeypress="return Key_Verif(event,3);">
    <input id="id4" name="classD" maxlength="3" onkeypress="return Key_Verif(event,4);">
     
    </body>
     
    </html>
    par contre cela n'empêche pas l'affichage du point dans l'input en question.

Discussions similaires

  1. [C#] Comment écrire dans un fichier Excel ?
    Par FoxDeltaSierra dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/05/2006, 15h29
  2. [VB.Net] Comment ecrire dans un MemoryStream
    Par vijeo dans le forum Windows Forms
    Réponses: 8
    Dernier message: 28/04/2006, 14h28
  3. Réponses: 2
    Dernier message: 27/04/2006, 15h22
  4. [MySQL] Comment ecrire dans une BDD à partir d'un tableau ?
    Par weed dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 16/09/2005, 15h53

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