我需要使用 jQuery 验证表单,然后将其提交到 JavaScript 文件,该文件将其重定向到确认/发送邮件页面。我这样做的原因是为了防止垃圾邮件,而不需要输入某种类型的验证码。我基本上是在表单页面的帖子中输入错误的 url,然后将其更改为外部 JavaScript 文件中的正确页面。除了表单在验证之前提交之外,一切都运行良好。我可以看到它在提交之前标记了错误一秒钟。
验证JS:
<script type="text/javascript">
$(document).ready(function(){
$('#contactform').submit(function() {
return $('#contactform').valid();
});
$("#contactform").validate();
$("#Name").rules("add", {
required: true,
minlength: 5,
messages: {
required: "Required",
minlength: jQuery.format("Minimum {0} Characters Required")
}
});
$("#Question").rules("add", {
required: true,
minlength: 20,
messages: {
required: "Required",
minlength: jQuery.format("Question Must Be {0} Character Long")
}
});
$("#math").rules("add", {
required: true,
equalTo: "#math2",
messages: {
required: "Solve Security Question.",
}
});
});
</script>
外部 JS 重定向:
function submitCommentForm() {
// Change the form action to the real submission page
document.getElementById('contactform').action = "confirmation.php";
// Submit the form
document.getElementById('contactform').submit();
}
最佳答案
改变
$('#contactform').submit(function() {
return $('#contactform').valid();
});
至
$('#contactform').submit(function() {
if($(this).valid()){
submitCommentForm();
}else{
alert('Please fix the errors within the form.');
}
return false;
});
关于php - 在提交之前验证表单,使用 jQuery post 到 javaScript,然后到确认页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11904086/