用法:

在html页面新建一个按钮用来触发事件

<a href="javascript:;" class="btn btn-success btn-add " title="添加"><i class="fa fa-plus"></i> 添加</a>

然后js中定义一个点击事件 在改事件里触发 Fast.api.open(url, title, options)打开模态框

                // 在index页面添加按钮事件
$(toolbar).on('click', '.btn-add', function () {
//获取选中的条目ID集合
var url = 'gzconfig/add';//弹出窗口 add.html页面的(fastadmin封装layer模态框将以iframe的方式将add输出到index页面的模态框里)
Fast.api.open(url, __('Add'), data|| {});
});

add.html

<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">

    <div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Gzname')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-gzname" data-rule="required" class="form-control" name="row[gzname]" type="text">
</div>
</div>
//layer-footer里的内容怎么改则弹出出框里的3区域就怎么显示
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</form>

fasadmin默认没有给弹出框绑定事件,

我们需要在控制器对应的JS中Form.api.bindevent进行绑定事件,绑定事件后我们点确定按钮才会采用Ajax的方式进行提交表单,否则会采用原始的方式提交表单

模态框打开函数的具体参数Fast.api.open(弹出页面的地址, 1的标题, options)

//将默认的参数defaultOptions放到options里如下:
Fast.api.open(弹出页面的地址, 模态框的头的标题, {
    type: 2,
title: title,
shadeClose: true,
shade: false,
maxmin: true,
moveOut: true,
content: '弹出页面的地址',
zIndex: Layer.zIndex,// 弹框的层级数
success: function (layero, index){ },
'area':[
$(window).width() > 800 ? '800px' : '95%',
$(window).height() > 600 ? '600px' : '95%'
],
'offset':[
//窗口小于480px才定义
top.$(".tab-pane.active").scrollTop() + "px",
"0px
]
})

此函数中有一个很重要的操作就是options = $.extend($defaultOptions,$options);

所以我们可以调一些没有的参数(????猜测 因为不知道callback函数怎么来的)如:

Fast.api.open("www.fastadmin.net", "FastAdmin", {
callback:function(value){
在这里可以接收弹出层中使用`Fast.api.close(data)`进行回传数据
},
aaa:function(){},
bbb={1,2},
ccc='tom'
});

1.标题区域
用于显示弹出层的标题,配置title即可

2.内容区域
用于展示url对应的页面的内容,此处嵌入的urliframe,也就是说弹出窗口的正文是通过iframe显示的,那么正文部分相当于完全新开一个页面。

3.操作区域
这个区域比较特殊,FastAdmin做了许多定制化,显示的内容从url对应的页面中的layer-footer区域内的内容复制到外部显示的。也就是说这部分的内容我们完全可以自定义,只需要修改url页面对应layer-footer区域内的内容即可。这里需要注意下这部分的内容会随着页面中layer-footer区域内的内容变化而变化,事件也会随之响应。

常用示例

打开一个弹窗并接收回传数据

Fast.api.open("www.fastadmin.net", "FastAdmin", {
callback:function(value){
在这里可以接收弹出层中使用`Fast.api.close(data)`进行回传数据
}
});

表单提交成功后不关闭弹窗

Form.api.bindevent("form[role=form]", function(data, ret){
//这里只要返回false,就会阻止我们的弹窗自动关闭和自动提示
return false;
});

定义在public/assets/js/fast.js

Fast.config
Fast.events
Fast.lang
Fast.init
Fast.api.ajax
Fast.api.fixurl
Fast.api.cdnurl
Fast.api.query
Fast.api.open
Fast.api.close
Fast.api.layerfooter
Fast.api.success
Fast.api.error

fastadmin模态框(弹出框)的更多相关文章

  1. 蜗牛爱课 - iOS7、8模态半透明弹出框

    //源Controller中跳转方法实现 MKDialogController *controller = [[MKDialogController alloc] init]; controller. ...

  2. ⒁bootstrap组件 工具提示框 弹出框 警告框 基础案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 通过jquery获得某个元素的位置, 透明div, 弹出框, 然后在旁边显示toggle子级联菜单-hover的bug解决

    jquery的"筛选选择器", 都是用冒号开头的, 即, 冒号选择器就是 筛选选择器.如: :first, :last, :eq(index), :first-child,...等 ...

  4. Bootstrap 弹出框和警告框插件

    一.弹出框 弹出框即点击一个元素弹出一个包含标题和内容的容器. //基本用法 <button class="btn btn-lg btn-danger" type=" ...

  5. vue--vant组件库Dialog弹出框

    安装vant UI框架: cnpm install vant –-save-dev 导入组件-在main.js里: import Vant from 'vant'; import'vant/lib/v ...

  6. 第二百四十六节,Bootstrap弹出框和警告框插件

    Bootstrap弹出框和警告框插件 学习要点: 1.弹出框 2.警告框 本节课我们主要学习一下 Bootstrap 中的弹出框和警告框插件. 一.弹出框 弹出框即点击一个元素弹出一个包含标题和内容的 ...

  7. 控制非模态弹出框(showModelessDialog)唯一且随父页面关闭

    网站开发中,常常会遇到需要弹出窗体的情况,一般弹出框有模态和非模态两种,如下: 模态:window.showModalDialog() 非模态:window.showModelessDialog() ...

  8. Js实例——模态框弹出层

    1.描述 百度登录就是一个模态框弹出层.思路分析:先将灰色大背景和登陆盒子设为不可见,利用JS将其动态加载可见. 2.代码 <!DOCTYPE html> <html> < ...

  9. Bootstrap模态弹出框

    前面的话 在 Bootstrap 框架中把模态弹出框统一称为 Modal.这种弹出框效果在大多数 Web 网站的交互中都可见.比如点击一个按钮弹出一个框,弹出的框可能是一段文件描述,也可能带有按钮操作 ...

随机推荐

  1. NetSarang软件中nssock2.dll模块被植入恶意代码技术分析与防护方案

    原文地址:http://blog.nsfocus.net/nssock2-dll-module-malicious-code-analysis-report/ NetSarang是一家提供安全连接解决 ...

  2. mac开发环境搭建篇(2)--brew与mysql

    [brew]:参考 https://www.cnblogs.com/zoulifeng2017/p/7514139.html 安装brew: 终端执行:/usr/bin/ruby -e "$ ...

  3. prometheus 标签使用

    标签的配置使用 考虑到要明智地使用标签,我们需要给事物重新命名.在一个集中的.复杂的监视环境中,我们有时无法控制正在监视的所有资源以及它们公开的监视数据.重新标记允许在自己的环境中控制.管理和潜在地标 ...

  4. Numpy系列(一)- array

    初始Numpy 一.什么是Numpy? 简单来说,Numpy 是 Python 的一个科学计算包,包含了多维数组以及多维数组的操作. Numpy 的核心是 ndarray 对象,这个对象封装了同质数据 ...

  5. ZooKeeper-集群模式安装

    下载地址:https://zookeeper.apache.org/releases.html 至少需要准备三台节点(这里为h136.h138.h140),ZooKeeper 需要 JDK,关于 JD ...

  6. springBoot多数据源(不同类型数据库)项目

    一个基于springboot的多数据源(mysql.sqlserver)项目,先看看项目结构,注意dao层 多数据源mysql配置代码: package com.douzi.robotcenter.c ...

  7. 第十节:委托和事件(2)(泛型委托、Func和Action、事件及与委托的比较)

    一. 泛型委托 所谓的泛型委托,即自定义委托的参数可以用泛型约束,同时内置委托Func和Action本身就是泛型委托. 将上一个章节中的Calculator类中的方法用自定义泛型委托重新实现一下. p ...

  8. luogu P5300 [GXOI/GZOI2019]与或和

    传送门 题目涉及按位与以及按位或运算,所以可以拆位考虑,枚举某个二进制位,然后某个位置如果那个数的第\(i\)位是\(0\)就放\(0\),否则放\(1\),这一位的贡献就是位运算后值为\(1\)的子 ...

  9. ThetaSome_ThetaAll子查询

    基本语法 表达式 θ some(子查询) 表达式 θ all (子查询) 语法中,θ是比较运算符 <,>,>=,<=,=,<> 如果表达式的值至少与子查询的结果的某 ...

  10. Java 多线程总结

    昨天熬了个通宵,看了一晚上的视频,把java 的多线程相关技术重新复习了一遍,下面对学习过程中遇到的知识点进行下总结. 首先我们先来了解一下进程.线程.并发执行的概念: 进程是指:一个内存中运行的应用 ...