layer 弹出层 回调函数调用 弹出层页面 函数
1、项目中用到layer 弹出层,定义一个公用的窗口,问题来了窗口弹出来了,如何保存页面上的数据呢?疯狂百度之后,有了结果,赶紧记下。
2、自己定义的公共页面方法:
layuiWindow: function (options) { var defaults = { title: '添加菜单', width: '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, width: '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); } }); }