N'autoriser que certains caractères dans un input

Résolu/Fermé
infoxx Messages postés 31 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 24 mai 2013 - 7 mai 2013 à 13:06
Arthur57530 Messages postés 264 Date d'inscription mardi 6 juillet 2010 Statut Membre Dernière intervention 13 mai 2013 - 13 mai 2013 à 13:55
Bonjour à tous!
Je voudrais controler l'entrée de caractère dans un input, j'ai donc eu recours aux event.keycode et event.which, mais le résultat obtenu n'est pas celui que j'attends :

	
<input type="text" onkeypress="
     if((event.keyCode < 44 || event.keyCode > 57) && !((event.keyCode == 8) || (event.keyCode == 37) || (event.keyCode == 39) || (event.keyCode ==46))) event.returnValue = false;
     if((event.which < 45 || event.which > 57) && !((event.which==8) || (event.which ==37) || (event.which==39) || (event.which==46))) return false;
     if(window.event.preventDefault) window.event.preventDefault();"


Je voudrais que le input n'accepte que les caractères 0123456789 et ',' (et on peut y utiliser les touches espace, supprimer, flèche droite et gauche), mais ici, seuls les caractères 0123456789 et la touche effacer fonctionnent..
Je crois que le problème se trouve dans mes event.which, mais je ne vois pas.. :(
A voir également:

1 réponse

Arthur57530 Messages postés 264 Date d'inscription mardi 6 juillet 2010 Statut Membre Dernière intervention 13 mai 2013 8
7 mai 2013 à 16:10
<input type="text" onkeypress="return activate(event);"/>

<script>
function activate(e){

if( 48 < e.which && e.which< 57 || e.which ==8 || e.which ==0) {


}else{
e.preventDefault();
return false;
}

}
</script>
2
infoxx Messages postés 31 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 24 mai 2013
13 mai 2013 à 10:40
Merci Beaucoup, cela fonction parfaitement! enfait, mes event.keycode étaient inutiles??
0
Arthur57530 Messages postés 264 Date d'inscription mardi 6 juillet 2010 Statut Membre Dernière intervention 13 mai 2013 8
13 mai 2013 à 13:55
Je pense que oui =)
0