• layui父窗口获取子页面的form的值,子窗口关闭父窗口


    一、layui父窗口获取子页面的form的值

    
    
    var GetParams = function(url,bool) {
            try {
                if(bool){
                    var index = url.indexOf('?');
                    url = url.match(/\?([^#]+)/)[1];
                }
                var obj = {}, arr = url.split('&');
                for (var i = 0; i < arr.length; i++) {
                    var subArr = arr[i].split('=');
                    obj[subArr[0]] = subArr[1];
                }
                return obj;
            } catch (err) {
                return null;
            }
        };

    layer.open({
        type: 2,
        title: "开发票",
        area: ['700px', '500px'],
        fixed: false, //不固定
        btn: ['确定','取消'], //按钮
        content: './openinvoice.html',//iframe
        yes: function(index, layero){
            var body = layero.find("iframe").contents().find("body");
            var vals = $$(body).find('form').serialize();
            var dataObj = GetParams(vals);//Url参数转JSON
            if(!dataObj.invoice_id){
                layer.msg("请选择需要发票信息");
            }
            console.log(dataObj);
        }
    });

    二、layui获取子集表单中的值,关闭父级弹窗

        var GetParams = function(url,bool) {
            try {
                if(bool){
                    var index = url.indexOf('?');
                    url = url.match(/\?([^#]+)/)[1];
                }
                var obj = {}, arr = url.split('&');
                for (var i = 0; i < arr.length; i++) {
                    var subArr = arr[i].split('=');
                    obj[subArr[0]] = subArr[1];
                }
                return obj;
            } catch (err) {
                return null;
            }
        };
        layer.open({
            type: 2 //此处以iframe举例
            ,title: '邀请面试'
            ,area: ['550px', '550px']
            ,shade: 0
            ,maxmin: true
            ,content: './alt_page.html?id='+id
            ,btn: ['发送', '取消']
            ,yes: function(index,layero){
                var body = layer.getChildFrame('body',index);
                var vals = $(body).children(form).serialize();
                var dataObj = GetParams(vals);//Url参数转JSON
                console.log(vals);
                console.log(dataObj);
            }
            ,btn2: function(){
              layer.closeAll();
              layer.msg('取消')
            }
            ,zIndex: layer.zIndex //重点1
            ,success: function(layero){
                layer.setTop(layero); //重点2
            }
        });

    二、关闭父级弹窗

    //方法1
    var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引            
    parent.layer.close(index); //再执行关闭
    
    //方法2
    parent.layer.closeAll(); //也可以这样
    

      

      

     注意:需要创建服务之后才能正常使用哦,也就是说访问的地址前边必须是http或者https

  • 相关阅读:
    HDU 3681 Prison Break 越狱(状压DP,变形)
    POJ 2411 Mondriaan's Dream (状压DP,骨牌覆盖,经典)
    ZOJ 3471 Most Powerful (状压DP,经典)
    POJ 2288 Islands and Bridges (状压DP,变形)
    HDU 3001 Travelling (状压DP,3进制)
    POJ 3311 Hie with the Pie (状压DP)
    POJ 1185 炮兵阵地 (状压DP,轮廓线DP)
    FZU 2204 7
    POJ 3254 Corn Fields (状压DP,轮廓线DP)
    ZOJ 3494 BCD Code (数位DP,AC自动机)
  • 原文地址:https://www.cnblogs.com/zhizou/p/9964041.html
Copyright © 2020-2023  润新知