[英]how to submit form with ajax after remote validation with jquery validation plugin
[英]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.