2011-06-08 56 views
0

我正在使用一個窗體,它有很多文本框來驗證。我使用bValidator插件available.What我想要的是,當驗證是錯誤的焦點應該保持在該文本框中,它不應該移動到下一個文本框。JQuery:我想回到一個文本框的模糊事件

的代碼看起來像事先此

$(document).ready(function() { 

      $($("form:first :input")[0]).focus(); 
      var options = { 

      errorClass:"txtbox-error", 
      validClass:"txtbox-success", 
      validateOn:"focusout", 
      onAfterElementValidation: function(element){ 
       var elt=element.attr('id'); 

       $("#" + elt).focus(); 

       } 


       }; 


     $('#fValidation').bValidator(options); 
     $('#name').focus(function(){ 

     }); 
    }); 

謝謝... :)

回答

1

你需要指定一個函數爲blur事件。我敲了一個例子(也可以在this JSFiddle看到)

<input type="text" id="text1"></input> 
<input type="text" id="text2"></input> 
.... 
$(document).ready(function(){ 
    $("#text1").blur(function(evnt){ 
     if ($(this).text != "1"){ 
      event.preventDefault(); 
      alert("Must be 1"); 
      $(this).focus(); 
     } 
    }); 
}); 

但是,要警惕這個!考慮可用性perspecive。如果用戶想要導航到完全不同的地方怎麼辦? (即離開你的網站)如果他們專注於你的文本框,那麼即使他們不想要,他們也會被迫輸入一個有效的值!