【发布时间】:2011-12-31 00:53:57
【问题描述】:
我想通过仅使用 javascript 输入数字来验证 asp.net 文本框控件。数据的最大长度应为 3 位。为此,我使用了以下脚本 -
function isNumberKey(evt, obj) {
var charCode = (evt.which) ? evt.which : event.keyCode
var txt = obj.value.length;
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
else {
if (txt < 3) {
return true;
}
else {
return false;
}
}
}
和html代码如下--
<asp:TextBox ID="txtNoCall" runat="server" onkeypress="javascript:return isNumberKey(event,this);"></asp:TextBox>
它正在验证数字输入。并将长度限制为 3 位数。但问题是,当我按下退格键时,在 3 位数字之后,它就不起作用了。
如何解决?
谢谢。
【问题讨论】:
-
您是否有理由不使用内置的 asp.net 验证器并让它们生成您的客户端代码
-
@Daniel Powell:我不想生成任何将由 asp.net 验证器显示的消息。而且它也占用了我的网页空间。
-
您可以将错误消息留空,不会向用户显示任何内容
-
给用户一些视觉反馈可能是个好主意,因为他们输入了无效的内容
-
@Daniel Powell:当我使用上面的 javascript 时。然后我严格验证数据。不需要向用户显示任何与验证相关的错误消息,这可能会消耗您的时间。
标签: javascript asp.net html