確認オプションでyiiのスイートアラートを使用しようとしています。
私は ajax ボタンを持っており、ユーザーが確認またはキャンセルを選択したら、Ajax リクエストを続行するか停止するかを選択して、甘いアラートをポップアップさせたいと思います。
'ajax' => array(
'url'=>CController::createUrl('items/delete'),
'type'=>'POST',
'async'=>true,
'data'=>array('Item'=>$item['Item_id']),
'dataType'=>'json',
'enctype'=>'multipart/form-data',
'cache'=>false,
'beforeSend'=>'js:function(data)
{
var x = sweetalertDelete();
if(x){alert("aaaaaaa"); return true;}
else {alert("bbbbb"); return false;}
}',
'success'=>'function(data)
{
スイート アラート ボックスを表示するために beforesend を使用しています。問題は、ボックスが表示されるとすぐに x が返され、後で表示されるアラートが表示されることです。ここに私の甘い警告コードがあります:
function sweetalertDelete(){
swal({
title: "<?php echo Yii::t('app','misc.order_delete'); ?>",
text: "You will not be able to recover this imaginary file!",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes, delete it!",
closeOnConfirm: false,
closeOnCancel: false
},
function (isConfirm) {
//swal("Deleted!", "Your imaginary file has been deleted.", "success");
if (isConfirm) {
alert("true");
return true;
}
else
{
alert("false");
return false;
}
});
}
私の質問は、 isconfirm の値が返され、確認/キャンセルボタンがクリックされるまで ajax リクエストが送信されないようにする方法です。