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

时间:2023-03-09 05:56:19
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);
} });
}