Jquery验证插件ajax提交没有触发

时间:2013-04-19 15:24:37

标签: jquery jquery-validate

我的Jquery验证器(http://bassistance.de/jquery-plugins/)插件submitHandler函数有问题。表单已正确验证,无效处理程序消息正确触发,但submitHandler函数将无法正确触发,并且ajaxSubmit函数不会触发corectly。谁知道我做错了什么?任何帮助都是最好的。

<script type="text/javascript">
$(document).ready(function() {
var submitMessage     = $('#submit-message'),
    messageContainer  = submitMessage.find('span'),
    loading           = $('#loading');

function showSuccess(message) {
    messageContainer.text(message)
    messageContainer.attr('class', 'success');
  }
function showFailure(message) {
    messageContainer.text(message)
    messageContainer.attr('class', 'failure');
}
$("#contact-form-info").validate({
  rules: {
    contact_Name: {
      minlength: 2,
      maxlength: 50,
      required: true
    },
    contact_Foretag: {
      minlength: 1,
      maxlength: 50
    },
    contact_Email: {
      required: true,
      email: true
    },
    contact_Subject: {
      required: true,
      minlength: 5,
      maxlength: 50
    },
    contact_Message: {
      required: true,
      minlength: 10,
      maxlength: 5000
    }
  },
  submitHandler: function(form) {
        var options = {
            beforeSubmit: function() {
                loading.show();
            },
            success: function() {
                showSuccess('Thank you! Your email has been submitted.');
                form.reset();
                loading.hide();
            },
            error: function() {
                showFailure("We're sorry, your email could not be sent. Please try again later.");
                loading.hide();
            }
        };
        $(form).ajaxSubmit(options);
     return false;

    },
    invalidHandler: function() {
        showFailure('There were some problems with your submission.');
    }
 });
});
</script>

这是我在jsFiddle中的代码。 http://jsfiddle.net/JwNmK/

1 个答案:

答案 0 :(得分:2)

OP的评论

  

&#34;当我提交有效表格时,它会被提交为正常的&#39;形式,我   重定向到process.php页面&#34;

使用return false时,您的submitHandler回调函数末尾肯定需要ajax

submitHandler: function (form) {
    // your ajax
    return false;
},