簡體   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