2010-11-26 8 views
1

J'ai un script dans une de mes applications web qui force les utilisateurs à taper uniquement des nombres dans certains champs de texte. Cependant, lorsque le champ de texte approprié est sélectionné, le script bloque TOU les entrées au clavier autres que les touches numériques et l'onglet. Je ne veux pas empêcher l'utilisateur d'utiliser les raccourcis clavier de son navigateur ou de mon application simplement parce qu'il saisit un champ numérique. (De plus, je préfère ne pas simplement valider le champ au lieu d'empêcher la saisie de nombres, mon application met à jour la page en fonction de l'entrée numérique en direct, donc ce ne serait pas aussi agréable.)Script JavaScript uniquement (sans bloquer les raccourcis clavier)

trouver un petit script pour moi? Une simple variation de ces scripts ne pouvant être remplacés que par une touche de modification est suffisante (et je suppose que le caractère redéfini devrait aussi être supprimé).

+0

utilisation onchange, et si (isNaN (valeur)) – lock

Répondre

2

Je ne vais pas écrire un script pour vous, mais je vais vous donner quelques pseudo-pseudo-code:

input = input.replace(/\D/, ''); 
+0

je l'ai essayé et il ne semble pas fonctionner pour une raison quelconque. Cela ressemble cependant à une bonne idée. –

+0

@le je ne peux pas répondre à cela sans voir votre code. – deceze

+0

Voilà, j'apprends JavaScript si désolé si cela se révèle être une erreur stupide: onChange = "this.value = this.replace (/ \ D \, '')" Aussi, onChange ne se déclenche pas jusqu'à ce que le champ de texte perd son focus, mais rien ne se passe de toute façon et je peux toujours avoir des lettres sur le terrain. –

0

Essayez Yav bibliothèque Javascript validateur.
Je pense que vous avez besoin d'une fonction de masque.
Regardez champ Custom: de cet exemple

+0

Cela semble bien, mais je ne peux toujours pas utiliser les raccourcis clavier de mon navigateur lorsque je tape dans le champ de texte personnalisé. Puis-je autoriser cela via des masques plus avancés dans cette bibliothèque? –

+0

Pouvez-vous me montrer votre raccourci clavier? – diewland