0

我想验证一个 ASP.TextBox 是否只输入带有 javascript 函数的整数值。如果用户输入非整数值,它应该显示警告消息并保持焦点在当前元素上。我使用了以下程序:

在网页的 Asp.TextBox 元素上:

onchange="return isInteger(this);" onblur="return isInteger(this);"

并在functions.js文件中验证函数

function isInteger(mobj) {
var mval = mobj.value;
if (isNaN(parseInt(mval))) {
    alert("Plese Enter a Valid Integer...!");
    mobj.focus();
    return false;
}
 return true; 
}

它是否正确,或者是否有任何正确的方法来进行验证。请建议。

4

4 回答 4

0

onblur在这里验证就足够了..

有时一起使用onchangeonblur会产生两个警报,即当焦点丢失并onchange一起触发时......

在这里试试...

如果您单独使用 onchange ,只有在您保持文本不变时第一次失去焦点时才会收到警报......就像这里......否则如果它无效,您必须清除文本框值......

onkeyup可能是最好的选择,但您仍然可能需要像这里一样清除文本框值...

于 2013-01-03T14:28:16.207 回答
0

是的想法是正确的。这就是你必须验证你的文本框的方式。

使用 javascript 验证文本框值

http://social.msdn.microsoft.com/Forums/en-US/netfxjscript/thread/07a91c1d-34db-44d8-9bd6-a424394a7028/

或者还有另一种方法在文本框上使用onKeyUp(),检查文本框的值,如果输入不是整数则返回false。

于 2013-01-03T14:19:46.653 回答
0

您可以使用 ASP.NET RegularExpressionValidator控件来验证您的文本框输入值。

例如。

<asp:TextBox id="textbox1" runat="server" />
<asp:RegularExpressionValidator
ControlToValidate="textbox1"
ValidationExpression="\d{1,10}"
ErrorMessage="Plese Enter a Valid Integer...!"
runat="server" />
于 2013-01-03T14:21:54.660 回答
0

这个想法是正确的,但 onchange 就足够了。onblur 不是必需的,因为您不想在每次控件失去焦点(即选项卡通过或仅单击)时进行验证而不进行任何更改。

于 2013-01-03T14:25:32.937 回答