如果文本框的验证失败,它应该在同一文本框中并限制用户移动到另一个文本框

时间:2014-03-05 05:48:57

标签: javascript asp.net

在下面的代码中,我有一个javascript函数和一个文本框。验证工作正常。我的目标是如果验证失败,它应该清除文本框值,光标应该在同一个文本框中,它不应该移动到其他控件。

JS:

function ValidateRegExp(txtInput, REGEXP) {
    var mySplitResult = new Array();
    mySplitResult = REGEXP.split("~~");

    var iReturn = 0;
    for (i = 0; i < mySplitResult.length - 1; i++) {

        var re = new RegExp(mySplitResult[i]);
        if (!txtInput.match(re)) {
            iReturn = iReturn + 1;
        }
    }

    if (iReturn > 0) {
        alert("Failed...");
    } else {
        alert("Success...");
    }

}

代码隐藏:

 txtField.Attributes.Add("onblur", "javascript:ValidateRegExp(document.getElementById('" + txtField.ClientID + "').value, '" + hidRegExp.Value + "');");

2 个答案:

答案 0 :(得分:0)

我不知道为什么它不能为我工作这项工作我刚刚通过2个文本框创建了一个简单的例子

<form id="form1" runat="server">
    <div>
        <asp:TextBox ID="txtField" runat="server"></asp:TextBox>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </div>
</form>

这是我的脚本

 <script type="text/javascript">
    function validate() {
        var txt = document.getElementById("txtField");
        if (txt.value === "" || txt.value.length <= 1) {
            txt.value = ''; // to clear the textbox value
            txt.focus(); // focus on the textbox
        }
    }
</script>

这是aspx.cs档案

protected void Page_Load(object sender, EventArgs e)
{
  txtField.Attributes.Add("onblur", "javascript:validate()");
}

答案 1 :(得分:-1)

On Leave事件或甚至每个控件的模糊都可以调用validate()函数。有一个专注于无效输入的属性。所以它会粘在文本框上,直到有效数据被放入。

http://jqueryvalidation.org/validate/