Yii2中如何使用modal弹窗(基本使用)


Posted in PHP onMay 30, 2016

Modal也即是模态窗,通俗的说就是弹窗。是一款bootstrap的js插件,使用效果也是非常好。

为什么要使用modal就不必多说了,一个网站,在开发过程中你说你没用过js弹窗我都不信!好的弹窗不仅仅给人以美感,也会让我们开发效率提高,甚至心情也会舒畅!

我们看看在yii2中如何使用modal。

比如我们之前添加数据的时候,通常情况下会点击按钮跳转到添加页面,保存后再跳转到列表页。

现在我们希望点击添加按钮的时候,在当前页面弹窗添加数据,看具体实现。

1、use yii\bootstrap\Modal;

2、创建一个按钮,用于调modal的显示

echo Html::a('创建', '#', [
'id' => 'create',
'data-toggle' => 'modal',
'data-target' => '#create-modal',
'class' => 'btn btn-success',
]);

3、创建modal

<?php 
Modal::begin([
'id' => 'create-modal',
'header' => '<h4 class="modal-title">创建</h4>',
'footer' => '<a href="#" class="btn btn-primary" data-dismiss="modal">Close</a>',
]); 
$requestUrl = Url::toRoute('create');
$js = <<<JS
$.get('{$requestUrl}', {},
function (data) {
$('.modal-body').html(data);
} 
);
JS;
$this->registerJs($js);
Modal::end(); 
?>

4、修改我们的create操作如下

public function actionCreate()
{
$model = new Test();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['index']);
} else {
return $this->renderAjax('create', [
'model' => $model,
]);
}
}

这个时候我们点击按钮[创建],会看到modal弹窗,截图如下。

Yii2中如何使用modal弹窗(基本使用)

有同学可能要说,这个页面没必要异步加载过来。确实,你也可以直接在页面上echo $this->renderAjax();,不过需要提醒的是,该操作记得修改表单提交的action哦。

关于modal的使用,此处有两点需要提醒大家:

在控制元素(比如按钮或者链接)上设置属性 data-toggle="modal",同时设置 data-target="#identifier" 或 href="#identifier" 来指定要切换的特定的模态框(带有 id="identifier")

以上,我们在yii2中实现了modal的基本使用。

PHP 相关文章推荐
PHP编程与应用
Oct 09 PHP
如何使用PHP批量去除文件UTF8 BOM信息
Aug 05 PHP
PHP限制页面只能在微信自带浏览器访问的代码
Jan 15 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
Aug 25 PHP
thinkphp3.0输出重复两次的解决方法
Dec 19 PHP
php中smarty区域循环的方法
Jun 11 PHP
ThinkPHP的SAE开发相关注意事项详解
Oct 09 PHP
php fseek函数读取大文件两种方法
Oct 12 PHP
PHP Socket网络操作类定义与用法示例
Aug 30 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
May 05 PHP
TP5框架页面跳转样式操作示例
Apr 05 PHP
详解php反序列化
Jun 10 PHP
[原创]php求圆周率的简单实现方法
May 30 #PHP
smarty中改进truncate使其支持中文的方法
May 30 #PHP
php实现的一段简单概率相关代码
May 30 #PHP
PHP中的表达式简述
May 29 #PHP
一个简单的php路由类
May 29 #PHP
解读PHP中上传文件的处理问题
May 29 #PHP
round robin权重轮循算法php实现代码
May 28 #PHP
You might like
如何实现给定日期的若干天以后的日期
2006/10/09 PHP
PHP学习 运算符与运算符优先级
2008/06/15 PHP
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
2011/07/12 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
网页上的Javascript编辑器和代码格式化
2010/04/25 Javascript
js使用for循环与innerHTML获取选中tr下td值
2014/09/26 Javascript
jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)
2016/01/22 Javascript
javascript执行环境及作用域详解
2016/05/05 Javascript
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
vue增删改查的简单操作
2017/07/15 Javascript
JavaScript使用FileReader实现图片上传预览效果
2020/03/27 Javascript
JavaScript生成指定范围的时间列表
2018/03/19 Javascript
基于Node的Axure文件在线预览的实现代码
2019/08/28 Javascript
Layui Form 自定义验证的实例代码
2019/09/14 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
深入分析在Python模块顶层运行的代码引起的一个Bug
2014/07/04 Python
使用pdb模块调试Python程序实例
2015/06/02 Python
详解Anaconda安装tensorflow报错问题解决方法
2020/11/01 Python
详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
2016/03/22 HTML / CSS
基于html5 canvas做批改作业的小插件
2020/05/20 HTML / CSS
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
Servlet方面面试题
2016/09/28 面试题
创业计划书中要认真思考的问题
2013/12/28 职场文书
班主任工作经验材料
2014/02/02 职场文书
企业演讲比赛主持词
2014/03/18 职场文书
幼儿园中班开学寄语
2014/04/03 职场文书
科技节口号
2014/06/19 职场文书
学校清明节活动总结
2014/07/04 职场文书
个人租房协议书范本
2014/09/30 职场文书
学生上课迟到检讨书
2015/01/01 职场文书
实习科室评语
2015/01/04 职场文书
导游词之韩国济州岛
2019/10/28 职场文书
Ruby处理CSV数据方法详解
2022/04/18 Ruby