在使用jQuery发布到javaScript之前验证表单然后到确认页面

pix*_*key 0 javascript php jquery

我需要使用jQuery验证表单,然后将其提交到JavaScript文件,将其重定向到确认/发送邮件页面.我这样做的原因是为了防止垃圾邮件没有放入某种类型的Captcha.我基本上为表单的页面添加了错误的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>
Run Code Online (Sandbox Code Playgroud)

外部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();
}
Run Code Online (Sandbox Code Playgroud)

Ohg*_*why 5

更改

$('#contactform').submit(function() {
  return $('#contactform').valid();
});
Run Code Online (Sandbox Code Playgroud)

$('#contactform').submit(function() {
  if($(this).valid()){
    submitCommentForm();
  }else{
    alert('Please fix the errors within the form.');
  }
  return false;
});
Run Code Online (Sandbox Code Playgroud)