我最初return true/false
在我的 ajax 回调中有 ,并意识到它可能不在正确的上下文中被调用,所以我重写了我的函数如下,但它仍然无法正常工作。提交变量是否也没有从回调函数中执行?确认 ( if .btn-danger
) 有效,但不仅仅是在您点击提交并且不需要确认的情况下)
$('#form').submit(function(e){
var submit = false;
if($('.btn-danger').length){
submit = true;
} else {
$.ajax({
url: base_path+"ajax/myajaxfile",
type: "post",
data: {
data1 : $("#amount").val(),
data2 : $("option:selected").val()
},
dataType: "json",
success: function(data) {
if (data.needconfirmation === 'true'){
$('#edit-submit').val("Confirm");
$('#edit-submit').removeClass("btn-primary");
$('#edit-submit').addClass("btn-danger");
$('#payment-form').after('<span class="warning"> Do you really wanna?</span>');
} else {
submit = true;
}
},
error: function(data) {
alert("an error has occurred");
}
});
}
if (submit){
return true;
} else {
return false;
}
});