【问题标题】:To set focus on textbox if the condition is failure using javascript如果条件失败,使用 javascript 将焦点设置在文本框上
【发布时间】:2014-02-27 23:18:17
【问题描述】:

在下面的代码中,我有一个文本框和一个具有正则表达式的 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...");

        }

    }

asp.net:

<asp:TextBox ID="txtField" runat="server" width="200Px" onfocus="But1()"></asp:TextBox>

代码隐藏

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

【问题讨论】:

    标签: javascript asp.net


    【解决方案1】:

    因为您已经在使用onblur 事件,所以您只需要使用javascript focus() 将焦点设置在您的文本框上。我已更改您的代码以将 this(您的控件) 传递给 javascript 函数。

    将代码后面的代码更改为

    txtField.Attributes.Add("onblur", "javascript:ValidateRegExp(this, '" + hidRegExp.Value + "');");
    

    和你的javascript代码

    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.value.match(re)) {
                    iReturn = iReturn + 1;
                }
            }
    
            if (iReturn > 0) {
            alert("Failed...");
             txtInput.focus(); //set focus back to control.
               }
            else {
                alert("Success...");
    
            }
    
        }
    

    【讨论】:

      猜你喜欢
      • 2016-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-22
      相关资源
      最近更新 更多