2010-06-21 7 views

Répondre

2

J'utilise le code côté client suivant pour ce faire:

jQuery.fn.ForceNumericOnly = 
function() 
{ 
    return this.each(function() 
    { 
     $(this).keydown(function(e) 
     { 
      var key = e.charCode || e.keyCode || 0; 
      // allow backspace, tab, delete, arrows, numbers and keypad numbers ONLY 
      return (
       key == 8 || 
       key == 9 || 
       key == 46 || 
       (key >= 37 && key <= 40) || 
       (key >= 48 && key <= 57) || 
       (key >= 96 && key <= 105)); 
     }) 
    }) 
}; 

Puis, dans ma page aspx Je joins à mon TextBox avec:

$(document).ready(function() 
{ 
    $("#<%= txtMyTextBox.ClientID %>").ForceNumericOnly(); 
}); 

Ceci est un côté client vérifier SEULEMENT si assurez-vous de mettre en œuvre une vérification côté serveur en utilisant comme Int32.TryParse sur vos données ainsi pour s'assurer qu'il y a un nombre.

+0

@Kesley: comment puis-je l'implémenter? –

+0

@AZIRAR en supposant que vous utilisez jQuery, vous pouvez simplement ajouter le code javascript ci-dessus, en utilisant les balises '

1

Une excellente façon d'y parvenir est d'utiliser le MaskedEditExtender dans la boîte à outils de contrôle Ajax.

La page d'exemple a même une démo pour limiter la saisie de l'utilisateur aux chiffres et aux caractères liés aux nombres.

0

Si vous utilisez le AjaxControlToolkit, pensez à l'extension FilteredTextBox.

<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server" TargetControlID="YourTextBoxID" FilterType="Numbers" FilterMode="ValidChars" /> 
Questions connexes