• 使用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: '反馈',
                 '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");
                    }                             
                        
                }
            })
        }
  • 相关阅读:
    touch测试
    JS动画代码
    前端css、javascript在线工具
    横向广告(商品)滚动
    写点js的小函数(一)
    HTML5 css reset
    JS新API标准 地理定位(navigator.geolocation)
    写点js的小函数(二、文本框的提示)
    传说中的comet(ajax版)?
    lhgdialog 4.2.0 正式版发布
  • 原文地址:https://www.cnblogs.com/firstcsharp/p/12821101.html
Copyright © 2020-2023  润新知