【发布时间】:2013-05-21 09:54:32
【问题描述】:
我正在使用来自:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ 的 JQuery 验证器
我已经编写了我需要的 JQuery,它可以正确验证,但是我的提交函数的最后一部分无法正常工作。
$("#commentForm").validate({
rules: {
email_options_name: {
required: true
},
email_options_company: {
required: true
},
email_options_country: {
required: true
},
email_option_email: {
required: true,
email: true
},
check_options: {
required: true,
minlength: 1
}
},
});
$("#commentForm").submit(function(){
var valid = $("#commentForm").valid();
if (valid) {
$.post('scripts/process_email_initial_form.php',$(this).serialize(), function(o) {
location.reload();
}, 'json');
} else {
$('.full-error').show();
}
return false;
});
$.extend($.validator.messages, {
required: "!",
email: "!"
});
}
当提交有效时,脚本process_email_initial_form.php 被调用并正确处理(通过查看firebug),如果不是,则显示div。问题是当脚本完成运行时location.reload(); 不会调用。理想情况下,我想指向成功页面,但这也不起作用。
我尝试在process_email_initial_form.php 的末尾添加一个 php 标头函数,但这也不起作用。
非常感谢任何帮助。
【问题讨论】:
-
Read the documentation。 使用
submitHandler回调函数。 这是您放置ajax的位置。您的外部submit处理程序正在搞砸插件的内置提交处理程序。
标签: php javascript jquery validation jquery-validate