用法:javascript
在html頁面新建一個按鈕用來觸發事件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)打開模態框java
// 在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.htmlajax
<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默認沒有給彈出框綁定事件,api
咱們須要在控制器對應的JS中Form.api.bindevent
進行綁定事件,綁定事件後咱們點肯定按鈕纔會採用Ajax的方式進行提交表單,不然會採用原始的方式提交表單函數
模態框打開函數的具體參數Fast.api.open(彈出頁面的地址, 1的標題, options)ui
//將默認的參數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);url
因此咱們能夠調一些沒有的參數(????猜想 由於不知道callback函數怎麼來的)如:spa
Fast.api.open("www.fastadmin.net", "FastAdmin", { callback:function(value){ 在這裏能夠接收彈出層中使用`Fast.api.close(data)`進行回傳數據 }, aaa:function(){}, bbb={1,2}, ccc='tom' });
1.標題區域
用於顯示彈出層的標題,配置title
便可.net
2.內容區域
用於展現url
對應的頁面的內容,此處嵌入的url
的iframe
,也就是說彈出窗口的正文是經過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.ajaxFast.api.fixurlFast.api.cdnurlFast.api.queryFast.api.openFast.api.closeFast.api.layerfooterFast.api.successFast.api.error