Bonjour,
J'essaie via keypress() de restreindre la saisie (alphanumérique) d'un champ input de type texte.
Dans un premier temps, j'ai fais le code ci-dessous qui fonctionne bien.
Ayant dans mon application plusieurs saisies à contrôler (les inputs sont créés dynamiquement et supprimés également), j'ai voulu externaliser le contrôle dans une fonction de la façon suivante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $("#vname").keypress(function(event){ if(event.which < 48 && event.which != 8){event.preventDefault();event.stopPropagation();} if(event.which > 57 && event.which < 65){event.preventDefault();event.stopPropagation();} if(event.which > 90 && event.which < 97){event.preventDefault();event.stopPropagation();} if(event.which > 122){event.preventDefault();event.stopPropagation();} });
Par contre cela ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $("#vname").keypress(isAlpha(event)); function isAlpha(event){ if(event.which < 48 && event.which != 8){event.preventDefault();event.stopPropagation();} if(event.which > 57 && event.which < 65){event.preventDefault();event.stopPropagation();} if(event.which > 90 && event.which < 97){event.preventDefault();event.stopPropagation();} if(event.which > 122){event.preventDefault();event.stopPropagation();} }
Après quelques tentatives j'ai codé l'appel à la fonction comme ci-dessous et cela fonctionne.
Je suis probablement passé à coté d'un truc important sur les fonctions ou event.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $("#vname").keypress(function(event){isAlpha(event);});
Une explication serait grandement appréciée
Merci
Partager