fastadmin模態框(彈出框)

 用法: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對應的頁面的內容,此處嵌入的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.ajaxFast.api.fixurlFast.api.cdnurlFast.api.queryFast.api.openFast.api.closeFast.api.layerfooterFast.api.successFast.api.error
相關文章
相關標籤/搜索