[英]JQuery / AJAX - Submit form after ajax resolved
I have a form that I want to validate the data of and then store the values in a $_SESSION variable before the form is submitted. 我有一个要验证的数据的表单,然后在提交表单之前将值存储在$ _SESSION变量中。 So far my code returns false if the validation fails, but submits the form before the AJAX has completed. 到目前为止,如果验证失败,我的代码将返回false,但是会在AJAX完成之前提交表单。 I'm not sure how to do that bit: 我不确定如何做到这一点:
$('#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?
}
)
});
try e.preventDefault: 试试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.