weixin_33739523 2017-02-27 12:39 采纳率: 0%
浏览 53

Yii2成功模态窗口

In view I have a form:

<?php $form = ActiveForm::begin(); ?>
    <?= $form->field($model, 'name')->textInput(['maxlength' => true, 'placeholder' => 'Name'])->label(false) ?>
    <?= $form->field($model, 'phone')->textInput(['maxlength' => true, 'placeholder' => 'Phone'])->label(false) ?>

    <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
<?php ActiveForm::end(); ?>

Controller is:

if ($model->load(Yii::$app->request->post()) && $model->save()) {
        \Yii::$app->session->setFlash('success', 'Created');
    } 
return $this->redirect(Yii::$app->request->referrer);

Then in view I put a modal:

<?php if (Yii::$app->session->hasFlash('success')) :?>
    <!-- <div class="container">
        <?= Yii::$app->session->getFlash('success', null, true) ?>
    </div> -->
    <div class="modal hide fade" id="myModal">
        <div class="modal-header">
            <a class="close" data-dismiss="modal">×</a>
            <h3>Modal header</h3>
        </div>
        <div class="modal-body">
            <p><?= Yii::$app->session->getFlash('success', null, true) ?></p>
        </div>
        <div class="modal-footer">
            <a href="#" class="btn">Close</a>
            <a href="#" class="btn btn-primary">Save changes</a>
        </div>
    </div>
<?php endif ;?>

And JS code is:

$(window).load(function(){
        $('#myModal').modal('show');
    });

I want to open success modal window after clicking submit button. But now nothing happens. Just reloads the page. How to do that I want? And please explain how to do that without reloading the page.

  • 写回答

1条回答 默认 最新

  • weixin_33738578 2017-02-27 15:37
    关注

    This might be no the best decidion, but i use class myAjaxModalClass and a simple js code, that submit all form with that class via ajax and parse json result:

    {result:0, data:'new modal content'}

    That allows me to load form with validation erros without page reloading. Also you may add your result status to submit redirect. Expample:

    {result: 2, url:'http://yoursite.net'}

    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况