如何在yii2中关闭boostrap对话框?

如何在yii2中关闭boostrap对话框?,yii2,dialog,modal-dialog,Yii2,Dialog,Modal Dialog,我正在尝试这样做: 通过URL,用按钮打开引导对话框。控制器中Url的操作是“myController/updateDialog” 通过打开对话框,这将加载一个页面(myController/updateDialog),其中包含一个表单来填充数据(表单有一个提交按钮) 如果我通过点击按钮提交表单,在我的控制器中,我尝试关闭对话框并刷新原始页面中的一些内容,这是我用JS做的。但它不起作用。我总是用新的URL在空白处获得窗口导航器;我希望保留调用对话框的原始页面,以查看更改,方法与Yii 1.x中的

我正在尝试这样做:

  • 通过URL,用按钮打开引导对话框。控制器中Url的操作是“myController/updateDialog”

  • 通过打开对话框,这将加载一个页面(
    myController/updateDialog
    ),其中包含一个表单来填充数据(表单有一个提交按钮)

  • 如果我通过点击按钮提交表单,在我的控制器中,我尝试关闭对话框并刷新原始页面中的一些内容,这是我用JS做的。但它不起作用。我总是用新的URL在空白处获得窗口导航器;我希望保留调用对话框的原始页面,以查看更改,方法与
    Yii 1.x
    中的
    cguidialog
    相同

  • 控制器的代码为:

    public function actionUpdatedialog($id)
    { 
       $model = $this->findModel($id);
        if ($model->load(Yii::$app->request->post() &&  $model->save() )) {           
           $this->view->registerJs("window.close(); window.opener.fn.yiiGridView.update('books-heads'); return false;",
                $this->view::POS_HEAD);//try close and finally 
         die(); //finally 
    
        } 
        return $this->render('update', [
            'model' => $model,
        ]);
    }
    
    我试过,用了:

    “window.close();”


    “$(#Mymodal).modal('hide');”
    和其他人,但无法对其进行排序。

    您应该通过ajax提交表单,接受并确定返回值。如果成功,请调用
    $(“#您的模式框”).modal('hide')
    关闭对话框。e、 g:

    public function actionUpdatedialog($id)
    { 
       $model = $this->findModel($id);
        if ($model->load(Yii::$app->request->post() &&  $model->save() )) {           
           \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
           return ['code' => 200, 'message' => 'success'];
    
        } 
        return $this->render('update', [
            'model' => $model,
        ]);
    }
    
    在页面中:

    $("#formName").on('submit', function () {
        // or use ajax
        fetch(...).then(response => {
            response.json().then(json => {
                if (200 === json.code) {
                    $("yourModalBox").modal('hide');
                } else {
                    alert(json.message);
                }
            });
        });
    });
    

    Google Translate提供的答案翻译,希望这对您有所帮助。

    为什么要关闭控制器动作中的模式?如何选择模式添加视图代码。