layer 弹出层 回调函数调用 弹出层页面 函数

1、项目中用到layer 弹出层,定义一个公用的窗口,问题来了窗口弹出来了,如何保存页面上的数据呢?疯狂百度之后,有了结果,赶紧记下。

2、自己定义的公共页面方法:

  layuiWindow: function (options) {
 
        var defaults = {
            title: '添加菜单',
             '100px',
            height: '100px',
            url: '',
            shade: 0.3,
            btn: ['确认', '关闭'],
            btnclass: ['btn btn-primary', 'btn btn-danger'],
            callBack:null
        };

        var options = $.extend(defaults,options);
        
        alert(options.width+"=+="+ options.height);

        //页面层
        layer.open({
            type: 2,
            title: options.title,
            //skin: 'layui-layer-rim', //加上边框
            area: [options.width, options.height], //宽高
            content: options.url,
            btn: options.btn, //只是为了演示
            yes: function(){
                options.callBack();
            },
            btn2: function(){
              layer.close();
            }
        });
    }

 3、父页面:

 $.layuiWindow({
            title: "菜单新增",
            url: "/SysMenu/Form?Id=" + id + "&Name=" + name,
             '400px',
            height: '300px',
            callBack: function () {
                //top.frames["Form"].submitForm();
                //$(la).find("iframe")[0].contentWindow.submitForm();
                window["layui-layer-iframe1"].submitForm();  //这里是重点,赶紧圈起来这里一定会用到。
            }
        });

 4、子页面方法:

 //保存数据
    function submitForm() {
        var parentId = $("#parentId").val();
        var childrenNode = $("#txtChildren").val();
        var path = $("#txtPath").val();
        $.ajax({
            url: "/SysMenu/Insert",
            data: { parentId: parentId, name: childrenNode, menuPath: path },
            dataType: "json",
            type: "post",
            success: function (req) {
                alert("req" + req);
            }, error: function (err) {
                alert("err"+err);
            }

        });
    }
原文地址:https://www.cnblogs.com/youmingkuang/p/8276684.html