web-dev-qa-db-fra.com

Comment autoriser les chiffres, le retour arrière, la suppression, les flèches directionnelles gauche et droite dans le texte HTML?

J'utilise le code javascript suivant qui, à mon avis, ne devrait autoriser que les chiffres, le retour arrière, la suppression, la flèche vers la gauche et la flèche vers la droite dans la zone de texte, mais autorise également les alphabets. Je ne sais pas pourquoi?

function validateQty(event) {
    var key = window.event ? event.keyCode : event.which;

if (event.keyCode == 8 || event.keyCode == 46
 || event.keyCode == 37 || event.keyCode == 39) {
    return true;
}
else if ( key < 48 || key > 57 ) {
    return false;
}
else return true;
};

Appelant cette fonction comme

<input type="text" onkeypress='validateQty(event)'>
18
user1556433

Nul doute que votre code est correct mais vous avez oublié le mot-clé "return" dans la zone de texte.

<input type="text" onkeypress='return validateQty(event);'>

Vous pouvez voir le code ici

13
Ranjit Singh

      function isNumberKey(evt)
      {
         var charCode = (evt.which) ? evt.which : event.keyCode
         if (charCode > 31 && (charCode < 48 || charCode > 57))
            return false;
         return true;
      }
<HTML>
   <HEAD>
   </HEAD>
   <BODY>
      <input id="txtChar" onkeypress="return isNumberKey(event)" type="text" name="txtChar" maxlength="10">
   </BODY>
</HTML>

1
Nirav Sutariya
<input type="text"  class="form-control" id="dompetku_msisdn" name="dompetku_msisdn" placeholder="Phone Number"  aria-describedby="helpBlock" onkeydown='return (event.which >= 48 && event.which <= 57) || event.which == 8 || event.which == 46 || event.which == 37 || event.which == 39' required /> </input>
0
user8147722