2010-06-21 1 views

ответ

2

Я использую следующий стороне клиента код, чтобы сделать это:

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)); 
     }) 
    }) 
}; 

Тогда в моей странице ASPX я прикрепить его к моему TextBox с:

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

Это на стороне клиента только проверить так убедитесь, что вы выполнили проверку на стороне сервера, используя как ваши данные, так и Int32.TryParse, чтобы убедиться, что существует число.

+0

@ Kesley: как я могу это реализовать? –

+0

@AZIRAR, предполагая, что вы используете jQuery, вы можете просто добавить вышеуказанный код javascript, используя теги '

1

Отличный способ для этого - использовать MaskedEditExtender в наборе инструментов управления Ajax.

На странице примера есть демо для ограничения ввода пользователем только чисел и номеров.

0

Если вы используете AjaxControlToolkit, рассмотрите расширение FilteredTextBox.

<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server" TargetControlID="YourTextBoxID" FilterType="Numbers" FilterMode="ValidChars" /> 
Смежные вопросы