Bonjour,

Je voudrais qu’une TextBox ne puisse contenir que des chiffres.
La solution est de créer une fonction JavaScript qui vérifie que le code de la touche pressée soit compris entre 48 et 57 ce qui correspond au valeur numérique

Toutefois j’ai un problème, car dans mon navigateur FireFox, il me convertie le caractère < en &lt ; alors qu’il ne touche pas au caractère >.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
oTextBox = new TextBox();
oTextBox.ID = "txt_PJ_" + sIdCtrl;
oTextBox.MaxLength = 8;
oTextBox.Width = 80;
oTextBox.Text = "0";
oTextBox.Attributes.Add("onKeyPress", "if (event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;");
Voici le code source généré :

onKeyPress="if (event.keyCode &lt; 48 || event.keyCode > 57)
event.returnValue = false;"
Je pensais qu’en forçant la conversion HTML cela pouvait résoudre mon problème, mais c’est pire.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
oTextBox.Attributes.Add("onKeyPress", Server.HtmlEncode
("if (event.keyCode < 48 || event.keyCode > 57) 
event.returnValue = false;"));
onKeyPress="if (event.keyCode &amp;lt; 48 || event.keyCode &amp;gt; 57) event.returnValue = false;"
Merci pour votre aide

Titan