验证和聚焦元素

时间:2013-01-03 14:06:27

标签: javascript asp.net

我想验证ASP.TextBox只使用javascript函数输入Integer Value。如果用户输入非Integer值,它应显示警告消息并将焦点保持在当前元素上。我使用了以下程序:

在网页上的Asp.TextBox元素:

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

在functions.js文件中使用valdating函数

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

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

4 个答案:

答案 0 :(得分:0)

是的想法是正确的。多数民众赞成你必须验证你的文本框。

Validating a text box value using javascript

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

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

答案 1 :(得分: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" />

答案 2 :(得分:0)

这个想法是正确的但是改变就足够了。 onblur不是必需的,因为你不想在每次控件失去焦点时进行验证(即标签或只是点击),而不做任何改动。

答案 3 :(得分:0)

onblur足以在此验证..

同时使用onchangeonblur会产生两个警报,即焦点丢失且onchange同时发生......

尝试here ...

如果你单独使用onchange,当你保持文本不变时,你只会在第一次失去焦点时得到警告..如here ...否则你必须清除文本框值,如果它无效的话。

onkeyup可能是最佳选择,但您仍可能需要清除here等文本框值...