[英]JQuery / AJAX - Submit form after ajax resolved
我有一個要驗證的數據的表單,然后在提交表單之前將值存儲在$ _SESSION變量中。 到目前為止,如果驗證失敗,我的代碼將返回false,但是會在AJAX完成之前提交表單。 我不確定如何做到這一點:
$('#c_form').submit(function() {
if ($("#del_f").val().length == 0) {
$("#del_f").addClass("alert-danger");
$("#del_f").focus();
return false;
} else {
$("#del_f").removeClass("alert-danger");
}
if ($("#del_s").val().length == 0) {
$("#del_s").addClass("alert-danger");
$("#del_s").focus();
return false;
} else {
$("#del_s").removeClass("alert-danger");
}
var update_session_delivery = "n=" + $("#del_f").val() + " " + $("#del_s").val();
var ajax1 = $.ajax({
url: 'work/update_session_delivery.php',
type: 'post',
data: update_session_delivery,
success: function(result) {}
});
$.when(ajax1).done(
function() {
//submit the form?
}
)
});
試試e.preventDefault:
$('#c_form').submit(function(e) {
e.preventDefault();//prevent form from submiting
var form = $(this);
if ($("#del_f").val().length == 0) {
$("#del_f").addClass("alert-danger");
$("#del_f").focus();
return false;
} else {
$("#del_f").removeClass("alert-danger");
}
if ($("#del_s").val().length == 0) {
$("#del_s").addClass("alert-danger");
$("#del_s").focus();
return false;
} else {
$("#del_s").removeClass("alert-danger");
}
var update_session_delivery = "n=" + $("#del_f").val() + " " + $("#del_s").val();
var ajax1 = $.ajax({
url: 'work/update_session_delivery.php',
type: 'post',
data: update_session_delivery,
success: function(result) {
//aditional logic here
form.submit();//submit the form after success
}
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.