我有TextBox
&我想在输入时在此TextBox中接受numbers
。
感谢。
答案 0 :(得分: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
的数据对服务器端进行检查,以确保存在数字。
答案 1 :(得分:1)
实现此目的的一个好方法是在Ajax控件工具包中使用MaskedEditExtender。
示例页面甚至还有一个演示,用于将用户输入限制为仅数字和数字相关的字符。
答案 2 :(得分:0)
如果您使用AjaxControlToolkit,请考虑FilteredTextBox扩展程序。
<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server" TargetControlID="YourTextBoxID" FilterType="Numbers" FilterMode="ValidChars" />