ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用iframe框架打开页面(layer.open)并存在嵌套时怎样获取到嵌套内的框架对象?

2020-05-03 11:01:56  阅读:279  来源: 互联网

标签:function index layer postData 框架 嵌套 var 页面


首先,在使用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");
                }                             
                    
            }
        })
    }

 

标签:function,index,layer,postData,框架,嵌套,var,页面
来源: https://www.cnblogs.com/firstcsharp/p/12821101.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有