在jQuery validate()之后执行一组函数

在jQuery validate()之后执行一组函数,jquery,validation,Jquery,Validation,我使用jQuery validate()插件来验证表单。它进行验证,但如果没有错误,如何执行一组函数 我试过这个 $(document).ready(function() { $('form').validate({ submitHandler: function(form) { $.post('php/contact.php', { name: $('form #name').val(), email:

我使用jQuery validate()插件来验证表单。它进行验证,但如果没有错误,如何执行一组函数

我试过这个

$(document).ready(function() {
    $('form').validate({
        submitHandler: function(form) {
        $.post('php/contact.php', { 
            name: $('form #name').val(), 
            email: $('form #email').val(), 
            comments: $('form #comments').val() },
            function(data) {
                if(data.success) {
                    alert('thank you');
                }
                else {
                    alert('error');
                }
        }, 'json');
        form.submit();
    }
    });
});
表单已验证,但我现在没有从php中获得数据。success为true。有什么想法吗?

请使用:

$("form").validate({
  //rules, etc..
  submitHandler: function(form) {
    //do something, it was valid
  }
});

与此相反的处理程序是
invalidHandler
,它在提交的表单无效时执行。

@pixeltocode:哪部分?您正在发出ajax请求,然后提交表单(可能会取消该请求),什么不起作用?当我将$.post放入.click()函数中时,表单提交。添加validate()时,它会验证表单并提交表单。当我使用submitHandler时,什么也没发生。@pixeltocode-你有没有试着只在其中添加一个警报?(也是在
invalidHandler
中,因为您的表单可能无效)目前您没有添加任何验证规则…那么为什么您还要使用验证插件?@pixeltocode-您是说表单根本没有提交?如果它提交了i数据。成功将是真的,警报应该可以工作,对吗?如果不是输入错误,你错过了
$('form')
后面的一篇结语,谢谢。验证现在可以工作了,但我现在没有从php获取数据。success=true。