使用iframe框架打開頁面(layer.open)並存在嵌套時怎樣獲取到嵌套內的框架對象?


首先,在使用layer.open打開的頁面內使用

var index = parent.layer.getFrameIndex(window.name);

獲取當前所打開框架的索引序號,並把此序號傳送給下一級打開的窗口頁面,那么在這個頁面上使用:

var $obj = $.currentIframe().frames['layui-layer-iframe'+index];

就可以獲取到上一級頁面的所有元素對象

例子:

打開“詳情”頁

function detail(keyValue) {
        layer.open({
            id: 'Detail',
            type: 2,
            title: '詳情',
            shadeClose: true,
            anim: 7,
            isOutAnim: 2,
            move: false,
            offset: 'rb',
            area: ['70%', '100%'],
            content: '../../Manage/Detail?keyValue=' + keyValue
        })
    }

在“詳情”頁上打開另一頁面“反饋”頁

 function feedback() {
        var index = parent.layer.getFrameIndex(window.name);
        dialogOpen({
            id: 'FeedbackForm',
            title: '反饋',
            width: '400px',
            height: '320px',
            url: '/Manage/FeedbackForm?index =' + index ,
            callBack: function (iframeId) {
                top.frames[iframeId].AcceptClick();
            }
        })
    }

在“反饋”頁上調用“詳情”頁上的元素及各對象

//保存
    function AcceptClick() {
        $.SaveForm({
           ...
            success: function () {
                if (keyValue) {
                    var $obj = $.currentIframe().frames['layui-layer-iframe'+index];
                    var nowTime = new Date();
                    var addTime = nowTime.Format("yyyy-MM-dd HH:mm");
                    if (postData["FeedbackStatus"] == 1) {
                        if (postData["Content"] == "")
                            postData["Content"] = "正常通過";
                        $.currentIframe().$("#gridTable").trigger("reloadGrid");
                    }
                    var jsonStr = '{"Attachment":\"' + postData["Attachment"] + '\","Content":\"' + postData["Content"] + '\","CreateTime":\"' + addTime + '\","CreateUserName":""}';
                    $obj.$("#newData").val(jsonStr);
                    $obj.$("#newData").trigger("click");
                } else {
                    $.currentIframe().$("#gridTable").trigger("reloadGrid");
                }                             
                    
            }
        })
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM