layui 弹出层layer中from初始化 ,并在btn中返回from.data
1.弹出对话框
layer.open() 来初始化弹层
// 监听添加操作 $(".data-add-btn").on("click", function () { var that = this; //多窗口模式,层叠置顶 layer.open({ type: 2 //此处以iframe举例 , title: '添加机构信息' , area: ['690px', '460px'] , shade: 0.5 , maxmin: true , offset: "auto" , content: './from_add.html' , btn: ['确定'] //只是为了演示 , yes: function (index, layero) { var body = layer.getChildFrame('body', index); var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method(); //console.log(body.html()) //得到iframe页的body内容 //var data1 = iframeWin.getfrom(); console.log(iframeWin.layui.form.val('example')); //这里只有layui 2.5.5的时候可以取到值 layer.closeAll(); } , zIndex: layer.zIndex //重点1 , success: function (layero,index) { var body = layer.getChildFrame('body', index); var iframeWin = window[layero.find('iframe')[0]['name']]; //body.find("#username")[0].value='Hi,我是从父页来的'; var dd={ "password": "123456" , "interest": 1 , "like[write]": true //复选框选中状态 , "close": true //开关状态 , "sex": "女" , "desc": "我爱 layui" }; iframeWin.loadfrom(dd); } }); });
2.在context的html中定义环视 loadform 并传值
注:这里测试发现,如果 给from直接传形参如:form.val('example', data); 会初始化失败,form 中没有数据但是不报错,但是序列化,反序列化后成功(估计是这个对象直接初始化有问题,layui这里有bug)
var loadfrom =function loaddata(data){ var dd2= JSON.stringify(data); var ddd = JSON.parse(dd2); layui.form.val('example', ddd); // layui.use(['form'], function () // { // var form =layui.form; // var ddd = JSON.parse(dd2); // form.val('example', ddd); // }); };
注:弹出的窗口时官方示例:注意是:layui-form
<form class="layui-form" action="" lay-filter="example"> <div class="layui-form-item"> <label class="layui-form-label">输入框</label> <div class="layui-input-block"> <input type="text" name="username" id="username" lay-verify="title" autocomplete="off" placeholder="请输入标题" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">密码框</label> <div class="layui-input-block"> <input type="password" name="password" placeholder="请输入密码" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">选择框</label> <div class="layui-input-block"> <select name="interest" lay-filter="aihao"> <option value=""></option> <option value="0">写作</option> <option value="1">阅读</option> <option value="2">游戏</option> <option value="3">音乐</option> <option value="4">旅行</option> </select> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">复选框</label> <div class="layui-input-block"> <input type="checkbox" name="like[write]" title="写作"> <input type="checkbox" name="like[read]" title="阅读"> <input type="checkbox" name="like[daze]" title="发呆"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">开关</label> <div class="layui-input-block"> <input type="checkbox" name="close" lay-skin="switch" lay-text="ON|OFF"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">单选框</label> <div class="layui-input-block"> <input type="radio" name="sex" value="男" title="男" checked=""> <input type="radio" name="sex" value="女" title="女"> </div> </div> <div class="layui-form-item layui-form-text"> <label class="layui-form-label">文本域</label> <div class="layui-input-block"> <textarea placeholder="请输入内容" class="layui-textarea" name="desc"></textarea> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit="" lay-filter="demo1">立即提交</button> </div> </div> </form>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)