1

確認オプションで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 リクエストが送信されないようにする方法です。

4

0 に答える 0