layer.open+iframe页窗口=在父页面利用 layer.open的yes按钮回调函数调用iframe子页面函数

父页面

        function edit(data) {
            layer.open({
                type: 2,//0:信息框,默认1:页面层2:iframe层3:加载层4:tips层
                area: ['650px', '620px'],
                fixed: false, //不固定
                shade: 'background-color: rgba(0,0,0,.5)',
                shadeClose: true,
                //maxmin: true,
                content: 'edit?d_id=' + data.d_id + '&' + 'a_name=' + data.a_name + '&' + 'a_id=' + data.a_id + '&' + 'd_name=' + data.d_name + '&' + 'd_status=' + data.d_status + '&' + 'd_parid=' + data.d_parid + '&' + 'd_level=' + data.d_level,
                btn: ['提交','返回'],
                yes: function (index, layero) {
                    var body = layer.getChildFrame('body', index);
                    var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
                    iframeWin.Buttun_Submit();//执行iframe页的方法:iframeWin.method();
                    window.location.reload();//直接页面刷新
                    //console.log(body.html()) //得到iframe页的body内容
                    //body.find('input').val('Hi,我是从父页来的')
                },
                btn2:function (index, layero) {
                    layer.close(index); //如果设定了yes回调,需进行手工关闭
                },
                
            });
        }

子页面

    function  Buttun_Submit() {
        var inputName = document.getElementById('selectname').value;//部门名称(判空)
        var dId = d_id;//部门id
        var pId = document.getElementById('selectID').value;//上级部门id
        var aId = document.getElementById('AreaselectID').value;//所在地区id
        if (dId == pId) {
            layer.msg("上级部门选择错误!");
        } else {
            $.ajax({
                url: "/sys_department/edit_detaile",//请求地址
                dataType: "json",//数据格式
                type: "POST",//请求方式
                async: false,//是否异步请求
                data: {
                    inputName: inputName,
                    dId: dId,
                    pId: pId,
                    aId: aId
                },
                success: function (data) {
                    layer.msg(data);
                    setTimeout(function () {
                        var index = parent.layer.getFrameIndex(window.name)
                        parent.layer.close(index);
                    }, 500);
                },
            });
        }
        
    }

借鉴文章:
https://fly.layui.com/jie/61122/
https://www.cnblogs.com/zhaow/p/9753836.html
https://www.layui.com/doc/modules/layer.html

posted @ 2020-03-18 16:51  姜佳泉  阅读(1992)  评论(0编辑  收藏  举报