Bonjour à tous,
Comme l'explicite le titre du topic j'ai besoin de faire une vérification en temps réel de ce qui est entré dans un input.
En clair, par exemple dans notre cas, j'ai besoin de n'entrer que des valeurs numériques entières.
Voici ce qui est actuellement fait:
Donc il s'agit de quelque chose de relativement "moche" en considérant le fait que visuellement ce n'est pas beau, que si on reste appuyé sur une touche ça ne fonctionne pas, et qu'il y a vraiment beaucoup trop de trucs à gérer.
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 $("input").live('keyup', function (e) { if($(this).val().match("^[0-9]+$") == null){ $(this).val($(this).val().substr(0,($(this).val().length-1))); } }); $("input").live('keydown', function (e) { var key = parseInt(e.which); if ( (key < 48 || key > 57) && (key < 96 || key > 105) && (key < 37 || key > 40) && (key < 8 || key > 9) ) { return false; } });
Donc je me penchais sur quelque chose de plus simple:
Donc ceci, concrètement, bloque la saisie si la regex de match pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $("input").live('keydown',function(event){ if($(this).val().match("[0-9]+") == null){ event.preventDefault(); } });
Ma question serait: comment la débloquer ?
Ou comment trouver une solution qui fasse ce que je veux faire, sans passer par une multitude de cas en fonction des eventkey.
Merci d'avance pour vos réponses.
ZnhaarX.
Partager