簡體   English   中英

在jQuery中驗證后如何提交表單

[英]How to submit form after validation in jquery

驗證成功后,我嘗試提交表單,因此我運行了以下代碼,並且兩個操作同時執行。 我也嘗試提交處理程序方法,但它只會出錯。 我的代碼如下所示:

$("#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

在內部提交處理程序中刪除form.submit(); &返回一個數字值,如return 1;

submitHandler: function(form) { return 1; }

然后在$("#request_form").on('submit',(function(e)調用validate函數並檢查返回值是否等於1並進一步處理,如:

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

希望這會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM