2011-06-19 81 views
13

我有我的形式我通过jQuery的.submit()提交,不幸的是,当我这样做时,它不会触发验证插件。如果我在表单中放置一个提交按钮,它可以很好地工作。手动触发jQuery验证?

有没有办法手动触发插件?

在此先感谢。

+2

也许jQuery ['trigger()'](http://api.jquery.com/trigger/)方法可能有用吗? –

回答

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

谢谢你,完美的作品。 – Mikkel

+0

不客气!请考虑接受我的答案,如果它解决了你的问题。 :) – Shef

4

你可以试试这个:

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

这也可以在提交处理程序进行:

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

    } else { 

    } 
}); 
+0

如果没有错误,我该如何提交它? – Mikkel

+0

@Mikkel,'.valid()'方法返回一个布尔值,指示表单是否有效。 –

4

您可以使用此

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

这autosubmits它是形式有效,所以你.validate()而不是submit()