2011-06-08 96 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。如果用户想要导航到完全不同的地方怎么办? (即离开你的网站)如果他们专注于你的文本框,那么即使他们不想要,他们也会被迫输入一个有效的值!