2009-10-18 17 views
0

Travailler sur C# asp.net C# .J'ai une zone de texte pour saisir uniquement des chiffres et non des lettres.Afficher uniquement les numéros dans une zone de texte

Si quelqu'un essaie d'entrer des lettres, il ne peut pas entrer de lettre.

La longueur d'entrer un nombre est finie comme: il peut entrer 100 à 200. pas plus de.

<asp:TextBox ID="txtLength" runat="server" onkeydown="return javascript:DigitOnly(this)" >0</asp:TextBox> 

Vous voulez une zone de texte numérique? où l'utilisateur peut seulement entrer un nombre comme: int, double pas n'importe quelle lettre.

+3

Quelle est la question? – Etan

Répondre

4

Comme ceci:

onkeydown="return DigitOnly(event, this);" 

function DigitOnly(event, elm) 
{ 
    var key = String.fromCharCode(event.keyCode ? event.keyCode : event.which); 
    return key.match(/\d/) && elm.value.length < 200; 
} 

Vous pourriez faire mieux en permettant des touches fléchées, copier & coller, etc.

+0

certainement, il doit accepter les touches fléchées, accueil, fin pour la navigation, et supprimer, retour arrière pour l'édition. Aussi Greg, que diriez-vous de passer la valeur du nombre maximum de caractères que l'utilisateur peut entrer au lieu de coder en dur 200. +1 pour la méthode gentil lil :) –

Questions connexes