Javascript 如何在jquery中验证后提交表单

Javascript 如何在jquery中验证后提交表单,javascript,php,jquery,forms,Javascript,Php,Jquery,Forms,我试图在验证成功后提交表单,因此我运行了下面的代码,两个操作同时执行。我还尝试提交处理程序方法,但它只会出错。我的代码如下所示: $("#request_form").validate({ debug: false, onfocusout: function(element) { $(element).valid(); }, errorClass : 'has-error', rules: { Subject : "requ

我试图在验证成功后提交表单,因此我运行了下面的代码,两个操作同时执行。我还尝试提交处理程序方法,但它只会出错。我的代码如下所示:

$("#request_form").validate({
    debug: false,
    onfocusout: function(element) {
        $(element).valid();
    },
    errorClass : 'has-error',
    rules: {
        Subject : "required",
        Screen: "required"
    },
    messages: {
        Subject : "Subject cannot be empty",
        Screen: "Screen  cannot be empty"
    },
    submitHandler: function(form) {
        form.submit();
    }
});



$("#request_form").on('submit',
              (function(e) 
               {
               $("#request_form").validate(); 
               $("#request_form").valid()
               {
                   alert("test");
                   var action = "Provide_Feedback";
                   var form = $('form')[0]; 
                   var formData = new FormData(form);

                   formData.append('action','Provide_Feedback');
                   e.preventDefault();

                   $.ajax({
                   url: "support_update.php", 
                   type: "POST",             
                   data: formData, 
                   contentType: false,      
                   cache: false,            
                   processData:false,        
                   success: function(data)   
                   {            
                       if (data == "200") {
                       alert("Your Request Sent.");
                       window.location = 'provide_feedback.php';
                       }
                       else {   
                       alert("There was an error occurred!");
                       }                 

                   }
                   });

               }
               }));

插件的
submitHandler
仅在表单有效时触发。你真的不需要你自己的处理程序

将ajax放入
submitHandler
中,然后删除
form.submit()

form.submit()
告诉浏览器通过默认过程发送表单,如果您想使用ajax提交表单,这显然不是您想要的


考虑到您在ajax成功中使用javascript进行重定向,我们不清楚您为什么要首先使用ajax,但是在submit handler remove
form.submit()中&返回一个数值,如
返回1ie

submitHandler:函数(表单){
返回1;
}

在('submit'),函数(e)
调用validate函数并检查返回值是否等于1,然后继续如下操作:

 $("#request_form").on('submit',(function(e) 
{
  if($("#request_form").validate()!=1)
  {
     return false;
  }
//Continue your code here 

希望这会有所帮助。

此调用正在递归,因为您正在提交函数中调用验证函数,并在验证函数中调用提交函数。无错误,两个操作同时执行。验证错误和表单提交警报同时显示。您好,感谢回复。我刚刚删除表单。提交()并把我的ajax代码,表单验证正确,但现在工作的ajax操作。嗨,通过使用上述代码更改表单提交和ajax调用不工作。为什么不只是正确使用submitHandler选项,因为它是记录在案的?