最近在做项目时,学着用layui开发后台管理系统。

但在做编辑表单时遇到了一个坑。

点击编辑时会出现一个弹窗。

我们需要从父表单传值给子表单。content是传值给子表单

layer.open({
type : 2,
title : "编辑管理员",
content : "Admin_edit?id="+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?id="+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) { }
})
}
})

父窗口取值子窗口的方法是 var password = parent.layer.getChildFrame('#username').val();

还有另一种方法:

,add: function(){
layer.open({
type: 2
,title: '添加管理员'
,content: 'adminform.jsp'
,area: ['420px', '420px']
,btn: ['确定', '取消']
,yes: function(index, layero){ var body = layer.getChildFrame('body', index);
var iframeWin = window[layero.find('iframe')[0]['name']];//得到iframe页的窗口对象,执行iframe页的方法:
var username=iframeWin.document.getElementById("username").value;

注意index 和 layero  这两个属性,不要打错了,要对应function。

用这个就可以实现layui js编辑。

最新文章

  1. oracle 备份数据库对象(存储过程PROCEDURE,FUNCTION,VIEW,TRIGGER...)
  2. Evaluate Math Expression
  3. 我的angularjs源码学习之旅1——初识angularjs
  4. 树莓派安装RASPBIAN系统
  5. 使用dig查询dns解析
  6. php开发(TP框架使用)
  7. LINQ to SQL语句非常详细(原文来自于网络)
  8. Asp.net MVC 版本简史
  9. 6-JS函数(二)
  10. iOS - UIApplication
  11. Java Date与SimpleDateFormat
  12. hdu 1084 What Is Your Grade?
  13. PHP使用外部命令导出数据库,备份到服务器并下载到本地
  14. mysql导出命令
  15. 基于visual Studio2013解决C语言竞赛题之1048打印矩阵
  16. 【Visual C++】游戏编程学习笔记之六:多背景循环动画
  17. Javascript arguments.callee和caller的区别
  18. 让Delphi的TRichEdit支持新标准
  19. HDU4514 湫湫系列故事——设计风景线 ——树的直径/树形dp+判环
  20. [原][杂谈]如果人类的末日:"天网"出现

热门文章

  1. ts配置项
  2. [BUUCTF]PWN——others_shellcode
  3. 大规模服务网格性能优化 | Aeraki xDS 按需加载
  4. java 多线程:Callable接口;FutureTask类实现对象【Thread、Runnable、Callable三种方式实现多线程的区别】
  5. 系统丢包net.netfilter.nf_conntrack_max 超限查看
  6. SpringBoot 上传文件功能
  7. 【LeetCode】127. Word Ladder 解题报告(Python)
  8. 第二十三个知识点:写一个实现蒙哥马利算法的C程序
  9. CSS实现鼠标移入时图片的放大效果以及缓慢过渡
  10. Azure Data Lake(一) 在NET Core 控制台中操作 Data Lake Storage