首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Yii2 -关闭模式时保持输入值

Yii2 -关闭模式时保持输入值
EN

Stack Overflow用户
提问于 2019-03-29 07:52:47
回答 1查看 64关注 0票数 -1

在一个页面中,我呈现了另一个页面与表单在bootstrap modal中,当填充输入如果关闭模式(而不是提交),只有点击(x)将有可能保持值输入时再次打开模式?

索引,php

代码语言:javascript
复制
<?= Html::a('<button class="btn btn-info">+</button>',['app/create'], ['id' => 'btn-add']) ?>


<?php
Modal::begin([
    'header' => '<div id="modal-title"></div>',
    'id' => 'modal',
    'size' => 'modal-lg',
    'clientOptions' => ['backdrop' => 'static', 'keyboard' => false],
]);
echo "<div id='modalContent'></div>";
Modal::end();
?>

.js

代码语言:javascript
复制
$('body').on('click', '#btn-add', function(e) {
     e.preventDefault();
         $('#modal').modal('show').find('#modalContent').load($(this).attr('href'));
    });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-29 08:32:53

您正在使用jquery .load()方法在模式窗口中加载表单,无论您在模式窗口中单击close on模式按钮还是在再次单击按钮+时单击覆盖背景,都会在模式窗口中再次加载内容。

因此,如果你真的想这样做,你将不得不将表单移动到你拥有Modal代码的同一视图中,这意味着你将不得不添加表单内联,并将按钮javascript更改为$('#modal').modal('show')。它应该如下所示

代码语言:javascript
复制
<?= Html::a('<button class="btn btn-info">+</button>','#', ['id' => 'btn-add']) ?>


<?php
Modal::begin([
    'header' => '<div id="modal-title"></div>',
    'id' => 'modal',
    'size' => 'modal-lg',
    'clientOptions' => ['backdrop' => 'static', 'keyboard' => false],
]);?>

<div id='modalContent'>
<?php
//your active form starts here 
    $form = ActiveForm::begin(
        [
            'id' => 'your-form-id',
            'action' => Url::to(['/controller/action'])

        ]
    );
?>
<?php
       ActiveForm::end();
?>
</div>

<?php Modal::end();
?>

你的Js应该是简单的

代码语言:javascript
复制
$('body').on('click', '#btn-add', function(e) {
    e.preventDefault();
    $('#modal').modal('show');
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55408558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档