在 sweetalert 中更改变量
changing variable inside sweetalert
我想更改一个变量,具体取决于用户是否在确认时按下了“确定”。然后我将变量传递给 ajax 代码。
基本上,当我像上面那样在函数中写入 ajax 3 次 (!) 时,它就起作用了。
我尝试通过更改 swal 内的变量 update_plan 然后 运行 swal 外的 ajax 来使其变得简单,但 swal 不像普通警报那样工作代码继续 运行 并且在弹出警报时不会停止 - 这与停止代码 运行 的常规警报相反。有什么办法可以提高效率吗?
var update_plan = 'no';
if($('#form_updated').val() == 'yes'){
swal({
title: '',
text: "Do you want to save this plan for all future refills?",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#39b54a",
confirmButtonText: "Yes, save it!",
animation: 'slide-from-bottom ',
closeOnConfirm: false
},
function(isConfirm){
if(isConfirm){
swal('Saved!','You have switched plans.', 'success');
update_plan = 'yes';
$.ajax({
type: "POST",
url: "front_end_functions.php",
data: "function=save_client_data&cNumber="+cNumber+"&carrier="+carrier+"&plan="+plan+"&update_plan="+update_plan+"&random_2="+random_2,
success: function(msg){
if(msg == 'error2'){
swal('','We have detected a problem. Please try again later.', 'error');
return false;
}else{
var jsArray = JSON.stringify(msg);
$('#orange_bg').toggle('slow');
get_blue_div(jsArray);
}
}
});
}else{
$.ajax({
type: "POST",
url: "front_end_functions.php",
data: "function=save_client_data&cNumber="+cNumber+"&carrier="+carrier+"&plan="+plan+"&update_plan="+update_plan+"&random_2="+random_2,
success: function(msg){
if(msg == 'error2'){
swal('','We have detected a problem. Please try again later.','error');
return false;
}else{
var jsArray = JSON.stringify(msg);
$('#orange_bg').toggle('slow');
get_blue_div(jsArray);
}
}
});
}
});
}else{
$.ajax({
type: "POST",
url: "front_end_functions.php",
data: "function=save_client_data&cNumber="+cNumber+"&carrier="+carrier+"&plan="+plan+"&update_plan="+update_plan+"&random_2="+random_2,
success: function(msg){
if(msg == 'error2'){
swal('','We have detected a problem. Please try again later.','error');
return false;
}else{
var jsArray = JSON.stringify(msg);
$('#orange_bg').toggle('slow');
get_blue_div(jsArray);
}
}
});
}
您还需要在回调中读取 update_plan
的值。
程序不会停止等待用户的响应(如 built-in alert()
)。
我想更改一个变量,具体取决于用户是否在确认时按下了“确定”。然后我将变量传递给 ajax 代码。
基本上,当我像上面那样在函数中写入 ajax 3 次 (!) 时,它就起作用了。
我尝试通过更改 swal 内的变量 update_plan 然后 运行 swal 外的 ajax 来使其变得简单,但 swal 不像普通警报那样工作代码继续 运行 并且在弹出警报时不会停止 - 这与停止代码 运行 的常规警报相反。有什么办法可以提高效率吗?
var update_plan = 'no';
if($('#form_updated').val() == 'yes'){
swal({
title: '',
text: "Do you want to save this plan for all future refills?",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#39b54a",
confirmButtonText: "Yes, save it!",
animation: 'slide-from-bottom ',
closeOnConfirm: false
},
function(isConfirm){
if(isConfirm){
swal('Saved!','You have switched plans.', 'success');
update_plan = 'yes';
$.ajax({
type: "POST",
url: "front_end_functions.php",
data: "function=save_client_data&cNumber="+cNumber+"&carrier="+carrier+"&plan="+plan+"&update_plan="+update_plan+"&random_2="+random_2,
success: function(msg){
if(msg == 'error2'){
swal('','We have detected a problem. Please try again later.', 'error');
return false;
}else{
var jsArray = JSON.stringify(msg);
$('#orange_bg').toggle('slow');
get_blue_div(jsArray);
}
}
});
}else{
$.ajax({
type: "POST",
url: "front_end_functions.php",
data: "function=save_client_data&cNumber="+cNumber+"&carrier="+carrier+"&plan="+plan+"&update_plan="+update_plan+"&random_2="+random_2,
success: function(msg){
if(msg == 'error2'){
swal('','We have detected a problem. Please try again later.','error');
return false;
}else{
var jsArray = JSON.stringify(msg);
$('#orange_bg').toggle('slow');
get_blue_div(jsArray);
}
}
});
}
});
}else{
$.ajax({
type: "POST",
url: "front_end_functions.php",
data: "function=save_client_data&cNumber="+cNumber+"&carrier="+carrier+"&plan="+plan+"&update_plan="+update_plan+"&random_2="+random_2,
success: function(msg){
if(msg == 'error2'){
swal('','We have detected a problem. Please try again later.','error');
return false;
}else{
var jsArray = JSON.stringify(msg);
$('#orange_bg').toggle('slow');
get_blue_div(jsArray);
}
}
});
}
您还需要在回调中读取 update_plan
的值。
程序不会停止等待用户的响应(如 built-in alert()
)。