Bonjour tout le monde,

J'ai un script javascript qui fonctionne (presque) très bien.

Il interdit au visiteur de mon site d'encoder des caractères autres que des chiffres de 0 à 9, ABS, R, D et J.

Le problème est que la tabulation ne fonctionne plus pour passer d'une cellule à l'autre

Cela est très gênant car nombreux sont les visiteurs qui vont utiliser cette touche pour passer d'une case à une autre.

Sauriez-vous jeter un coup d'oeil à mon code et me dire ce qui ne va pas ?

Le code ASCII de la tabulation horizontale est 9, je l'ai ajouté, mais impossible à faire.

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
function chiffres(ev) 
{ 
 
 
	// IE 
if((ev.which < 48 || ev.which > 57) && (ev.which < 8 || ev.which > 8) && (ev.which < 9 || ev.which > 9) && (ev.which < 65 || ev.which > 66) && (ev.which < 68 || ev.which > 68) && (ev.which < 74 || ev.which > 74) && (ev.which < 82 || ev.which > 83)){ 
		ev.returnValue = false; 
		ev.cancelBubble = true; 
		//alert("les seules caractères autorisés sont : les chiffres de 0 à 20, ABS, R (report), J (Justifié), D (Dispensé)");
	} 
	// DOM 
	if((ev.which < 48 || ev.which > 57) && (ev.which < 8 || ev.which > 8) && (ev.which < 9 || ev.which > 9) && (ev.which < 65 || ev.which > 66) && (ev.which < 97 || ev.which > 98) && (ev.which < 68 || ev.which > 68) && (ev.which < 115 || ev.which > 115) && (ev.which < 74 || ev.which > 74) && (ev.which < 82 || ev.which > 83)){ 
		ev.preventDefault();
		ev.stopPropagation(); 
		alert("les seules caractères autorisés sont : les chiffres de 0 à 20, ABS, R (report), J (Justifié), D (Dispensé)");
	} 
}
Merci d'avance.

beegees