2012-01-21 29 views
7

Tôi đang sử dụng Trình xác thực jQuery và tôi muốn có thể tắt hành vi lấy nét mặc định.Vô hiệu hóa tiêu điểm nhập tự động với trình xác thực jQuery

Tôi bao gồm tên trường dưới dạng giá trị trực tiếp trong chính trường nhập (giống như những gì bạn thấy trong đầu vào "tìm kiếm" ở phía trên cùng bên phải của Stack Overflow). Vấn đề ở đây, là khi tôi gửi biểu mẫu và một trường được gắn cờ là không hợp lệ, nó sẽ tự động tập trung vào trường, loại bỏ giá trị trường.

Điều này có thể gây nhầm lẫn cho người dùng vì họ không còn biết mục đích của trường cụ thể đó nữa. Có cách nào để vô hiệu hóa hành vi này không?

Tôi đã bao gồm mã của tôi dưới đây, trong trường hợp giúp rằng:

$(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

Bạn nên viết giải pháp của bạn như một câu trả lời và chấp nhận nó như là câu trả lời đúng. – PetersenDidIt

Trả lời

9

Tôi tìm thấy câu trả lời cho điều này và chỉ muốn chia sẻ nó ở đây:

Tôi chỉ đơn giản là cần thiết để sử dụng focusInvalid: false. câu trả lời

9

Sử dụng Jeremy như thế này:

$("#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(); 
      } 
     }); 
Các vấn đề liên quan