繁体   English   中英

将焦点放在文本框的onChange事件上

[英]Set focus on onChange event of textbox

如果结果错误,我想将重点放在文本框本身的变化事件上。 假设我的文本框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;
        }
}

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

change事件恰好在blur之前发生,因此,在焦点事件上调用focus()不会执行任何操作。

尝试以下操作:

 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/

希望对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM