2012-01-21 27 views
7

我正在使用jQuery驗證器,我希望能夠禁用默認焦點行爲。使用jQuery驗證器禁用自動輸入焦點

我將字段名稱直接包含在輸入字段本身中(例如您在Stack Overflow右上角的「搜索」輸入中看到的內容)。這裏的問題是,當我提交表單並且一個字段被標記爲無效時,它會自動關注該字段,這會刪除字段值。

這可能會讓用戶感到困惑,因爲他們不知道該特定領域的目的。有什麼辦法可以禁用這種行爲嗎?

以下附上我的代碼,如果能夠幫助:

$(document).ready(function(){ 
    jQuery.validator.messages.required = ""; 
    jQuery.validator.addMethod("notEqual", function(value, element, param) { 
     return this.optional(element) || value !== param; 
    }, ""); 

    $("#quoteForm").validate({ 
     rules: { 
      firstName: { 
       required: true, 
       notEqual: "First name" 
      }, 
      email: { 
       required: function(element) {return $("#emailAdd").val() == '';}, 
       notEqual: "Email", 
       email: false 
      }, 
      phone: { 
       required: function(element) {return $("#phoneNum").val() == '';}, 
       notEqual: "Phone", 
       phoneUS: false 
      } 
     } 
    }); 
}); 
+0

你應該寫您的解決方案作爲一個答案,並接受它作爲正確答案。 – PetersenDidIt

回答

9

我發現這個問題的答案,只是想在這裏分享:

我只是需要使用focusInvalid: false

9

使用傑里米的答案是這樣的:

$("#contactForm form").validate({ 
      focusInvalid: false, 
      rules: { 
       name: "required", 
       email: { 
        required: true, 
        email: true 
       }, 
       message: "required" 
      }, 
      messages: { 
       name: 'Fill in name', 
       email: 'Fill in email', 
       message: 'Fill in message' 
      }, 
      submitHandler: function(form) { 
       return SubmitContactForm(); 
      } 
     });