0

如果结果错误,我想将焦点放在文本框本身的更改事件上。假设我的文本框 id 是“txtCaseCode”。

$('#txtCaseCode').change(function() {

     if(condition does not satsfy)
     {
        alert('Wrong ID');
        $('#txtCaseCode').focus();
     }

}

位它不起作用。我将如何实现这一目标?

这是附加模糊事件后的代码:

 $('#txtCaseCode').change(function() {
     if(condition does not satsfy)
         {
            alert('Wrong ID');
            $('#txtCaseCode').blur(function(){
            $('#txtCaseCode').focus();//this is not working
            $('#txtCaseCode').val('Please click here.');//this is not working
             });
         }
     else
        {
           execute code;
        }
}
4

2 回答 2

0

更改要附加到的事件blur。这样,每当文本框失去焦点时,您都​​可以将焦点返回给它。

change事件发生在 之前blur,因此,调用focus()焦点事件什么也不做。

于 2013-08-12T12:09:57.173 回答
0

尝试以下:

 var $txt = $("#txtEmail").focus();

  $txt.blur(function(){   
    if(!validateEmpty(this)){
       $(this).focus();
    }    
 });

function validateEmpty(el){
    var flag = true,
         v = $(el).val();

    if(v == ""){
        alert("Can't Leave Blank");
        flag = false;
    }

   return flag;
}

在这里工作小提琴:http: //jsfiddle.net/4anAx/2/

我希望它有帮助。

于 2013-08-12T14:08:26.133 回答