最近在做项目时,学着用layui开发后台管理系统。
但在做编辑表单时遇到了一个坑。
点击编辑时会出现一个弹窗。
我们需要从父表单传值给子表单。content是传值给子表单
layer.open({ type : 2, title : "编辑管理员", content : "Admin_edit?>e.data.id, area : [ "420px", "420px" ], btn : [ "确定", "取消" ], yes : function(e, t) {
之后这一步,遇到了一个坑,一直以为弹窗是运行在子窗口的jsp文件上。用var data = $("#id").val()取值,结果发现获取的数据上无法识别。
后来百度了下,发现弹窗取子窗口值是需要父窗口提取子窗口的值。
else if ("edit" === e.event) { t(e.tr); layer.open({ type : 2, title : "编辑管理员", content : "Admin_edit?>e.data.id, area : [ "420px", "420px" ], btn : [ "确定", "取消" ], yes : function(e, t) { /*var l = window["layui-layer-iframe"+ e], r = "LAY-user-back-submit", n = t.find("iframe").contents().find("#"+ r); l.layui.form.on("submit("+ r + ")",function(t) { t.field; layer.msg(i); console.log("sssssssss"); i.reload("LAY-user-front-submit"), layer.close(e) }), n.trigger("click");*/ var id = parent.layer.getChildFrame('#id').val(); var username = parent.layer.getChildFrame('#username').val(); var password = parent.layer.getChildFrame('#username').val(); alert(username); $.post("Admin_save",{ id:id, username:username, password:password }, function(data){ if(data.code==200){ //location.reload(); i.reload('LAY-user-back-manage'); layer.msg("修改成功"); layer.close(e); }else{ layer.msg("请求失败!"); } }) }, success : function( e, t) { } }) } })