2011-06-19 34 views
13

Tôi có biểu mẫu tôi gửi qua .submit() của jQuery, rất tiếc là nó không kích hoạt plugin xác thực khi tôi thực hiện theo cách này. Nếu tôi đặt một nút gửi bên trong biểu mẫu, nó hoạt động hoàn hảo.Kích hoạt xác thực jQuery bằng tay?

Có cách nào khác để kích hoạt plugin theo cách thủ công không?

Xin cảm ơn trước.

+2

Có lẽ phương pháp jQuery ['trigger()'] (http://api.jquery.com/trigger/) có thể được sử dụng? –

Trả lời

25
$("#myButton").click(function(e) { 
    e.preventDefault(); 
    if($("#myform").valid()){ 
     // the form is valid, do something 
    } else{ 
     // the form is invalid 
    } 
}); 
+1

Cảm ơn người đàn ông, hoạt động hoàn hảo. – Mikkel

+0

Bạn được chào đón! Xin vui lòng, xem xét chấp nhận câu trả lời của tôi, nếu nó giải quyết vấn đề của bạn. :) – Shef

4

Bạn có thể thử này:

$('#someForm').valid(); 

mà cũng có thể được thực hiện trong xử lý nộp:

$('#someForm').submit(function() { 
    if ($(this).valid()) { 

    } else { 

    } 
}); 
+0

Tôi làm cách nào để gửi nếu không có lỗi? – Mikkel

+0

@Mikkel, phương thức '.valid()' trả về một boolean cho biết biểu mẫu có hợp lệ hay không. –

4

Bạn có thể sử dụng này

$(".selector").validate({ 
    submitHandler: function(form){ 
    form.submit(); 
    } 
}); 

mà autosubmits hình thức đó là hợp lệ, vì vậy bạn .validate() thay vì gửi()

Các vấn đề liên quan