我的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/
答案 0 :(得分:2)
OP的评论:
&#34;当我提交有效表格时,它会被提交为正常的&#39;形式,我 重定向到process.php页面&#34;
使用return false
时,您的submitHandler
回调函数末尾肯定需要ajax
。
submitHandler: function (form) {
// your ajax
return false;
},