https://www.cnblogs.com/jiqing9006/p/5135697.html

layer iframe层的使用,传参

 

父层

  1. <div class="col-xs-4 text-left" style="padding-left: 50px;"><button type="button" class="btn btn-success" onclick="addCategory();">添加</button></div>

  

点击添加,按钮,执行添加方法

  1. function addCategory() {
  2. layer.open({
  3. title:'<img src="{sh::RES}image/add.gif"> 添加分类',
  4. type: 2,
  5. area: ['700px', '530px'],
  6. fix: false, //不固定
  7. maxmin: true,
  8. content: '{sh::U("Mall/editcategory")}',
  9. success:function(layero,index){
  10. },
  11. end:function(){
  12. var handle_status = $("#handle_status").val();
  13. if ( handle_status == '1' ) {
  14. layer.msg('添加成功!',{
  15. icon: 1,
  16. time: 2000 //2秒关闭(如果不配置,默认是3秒)
  17. },function(){
  18. history.go(0);
  19. });
  20. } else if ( handle_status == '2' ) {
  21. layer.msg('添加失败!',{
  22. icon: 2,
  23. time: 2000 //2秒关闭(如果不配置,默认是3秒)
  24. },function(){
  25. history.go(0);
  26. });
  27. }
  28. }
  29. });
  30. }

  

这个方法,打开一个iframe页面,页面中可以执行一些操作,添加分类,执行完毕后调用一个end方法。这个方法,很有用!

不管执行结果如果,都会调用。

iframe可以传递参数到父页面。

end方法,根据传递的结果,执行一些后续操作。

iframe层

  1. <div class="content">
  2. <form action="" method="post" id="myform" enctype="multipart/form-data">
  3. <div class="form-group row">
  4. <div class="left col-xs-3 text-right">
  5. <label for="">名称:</label>
  6. </div>
  7. <div class="right col-xs-8 text-left">
  8. <input type="text" class="form-control" id="name" name="name" placeholder="">
  9. </div>
  10. </div>
  11.  
  12. <div class="form-group row">
  13. <div class="left col-xs-3 text-right">
  14. <label for="">类别:</label>
  15. </div>
  16. <div class="right col-xs-8 text-left">
  17. <input type="text" class="form-control" id="name" name="name" placeholder="">
  18. </div>
  19. </div>
  20.  
  21. <div class="form-group row">
  22. <div class="left col-xs-3 text-right">
  23. <label for="">图标:</label>
  24. </div>
  25. <div class="right col-xs-8 text-left">
  26. <input type="file" id="logo" name="logo">
  27. </div>
  28. </div>
  29.  
  30. <div class="form-group row">
  31. <div class="left col-xs-3 text-right">
  32. <label for="">启用:</label>
  33. </div>
  34. <div class="right col-xs-8 text-left">
  35. <input name="status" type="checkbox" checked="checked"> 启用
  36. </div>
  37. </div>
  38. <div class="form-group text-center submit">
  39. <button type="submit" class="btn btn-primary ">提交</button>
  40. </div>
  41. </form>
  42. </div>

  

表单提交,提交到后台(表单提交,刷新iframe层页面)

  1. <script type="text/javascript">
  2. var index = parent.layer.getFrameIndex(window.name);
  3. var success = '{sh:$success}';
  4. if ( success == '1' ) {
  5. parent.$("#handle_status").val('1');
  6. parent.layer.close(index);
  7. } else if( success == '2' ) {
  8. parent.$("#handle_status").val('2');
  9. parent.layer.close(index);
  10. }
  11. </script>

  

收到执行的结果,success,成功是1,失败是2。执行相应的操作。也就是,

传值+关闭iframe层。

父层有一个隐藏的元素,专门用来接收传值的

  1. <input id="handle_status" value="" hidden="hidden">

  

流程很清晰。

layer很牛逼!

layui: 子iframe关闭/传值/刷新父页面的更多相关文章

  1. layer.open打开一个新的jsp页面,如何关闭并刷新父页面问题

    layer.open打开一个新的jsp页面弹框,如何关闭呢? 在新的页面提交完毕之后,关闭并刷新父页面列表. layer.closeAll(); parent.layer.closeAll(); wi ...

  2. Layui 关闭自己刷新父页面

    var index = parent.layer.getFrameIndex(window.name); parent.layer.close(index); window.parent.locati ...

  3. HTML子页面保存关闭并刷新父页面

    1.思路是子页面保存后,后台传递成功的js到前台. 2.js的原理是——子页面调用父页面的刷新 子页面 function Refresh() {            window.parent.Re ...

  4. window.open页面关闭后刷新父页面

    如题 function openWin(url,text,winInfo){ var winObj = window.open(url,text,winInfo); var loop = setInt ...

  5. WPF 子窗体关闭,刷新父窗体

    父窗体代码 private void DGUserEdit() { if(DGUser.SelectedItem!=null) { DataRow dr = (DGUser.SelectedItem ...

  6. Layer弹出层关闭后刷新父页面

    API地址:http://layer.layui.com/api.html#end 调用END回调方法: end - 层销毁后触发的回调 类型:Function,默认:null 无论是确认还是取消,只 ...

  7. C# Form窗体子窗口关闭时刷新父窗体中的datagridview

    解决该问题可以用委托,但是还有更简单方便的两种方法: 方法一:将主窗体实例保存到子窗体 show  form2的时候设置一下 owner为form1 Form2 f2 = new Form2(); / ...

  8. js window.open()打开的页面关闭后刷新父页面

    function test(){ var winObj = window.open(URL); var loop = setInterval(function(){ if(winObj.closed) ...

  9. Ionic3关闭弹出页面,跳转到列表后刷新父页面

    记得上次写过一篇如何弹出页面的文章,好像是2月28号ionic3 Modal组件那一篇,这篇也算那一篇的续集吧!这篇是弹出的页面关闭后刷新父页面的干活!上代码! 弹出页面:(关闭的时候可以传入值,再父 ...

随机推荐

  1. markdownpad2-注册码-2017-02-23

    MarkdownPad2.5/2 注册码   User: Soar360@live.com 授权: GBPduHjWfJU1mZqcPM3BikjYKF6xKhlKIys3i1MU2eJHqWGImD ...

  2. VS2012创建ATL工程及使用MFC测试COM组件

    一.创建ATL工程 1.创建ATL项目,取名为ATLMyCom 2.在ATL项目向导中,勾选[支持MFC](利用MFC测试用).[支持 COM+ 1.0],其余的选项默认,点击完成. 3.右键工程名称 ...

  3. 从输入URL到页面显示发生了什么

    阅读目录 1.输入地址 2.浏览器查找域名的 IP 地址 3.浏览器向 web 服务器发送一个 HTTP 请求 4.服务器的永久重定向响应 5.浏览器跟踪重定向地址 6.服务器处理请求 7.服务器返回 ...

  4. 向eclipse的JavaWeb项目中导入jar包

    一:      在你所需的jar包网站下载对应的jar包.如org.apache.commons.lang.jar. 二:复制粘贴到该JavaWeb的WEB-INF目录下的lib目录下,如: 三:右键 ...

  5. 操作系统04_IO管理

    输入输出系统 IO系统的层次结构 用户层IO软件 设备独立性软件 设备驱动程序 中断处理程序 对IO设备的控制方式 使用轮询的可编程IO方式 cpu不停地检查设备的状态,以字节为单位,非中断方式,利用 ...

  6. jquery里面获取div区块的宽度与高度

    https://blog.csdn.net/ll641058431/article/details/52768825 获取宽度 $('div').width();     获取:区块的本身宽度 $(' ...

  7. [蓝桥] 历届试题 错误票据 (List用法,空格处理)

    时间限制:1.0s 内存限制:256.0MB 问题描述 某涉密单位下发了某种票据,并要在年终全部收回. 每张票据有唯一的ID号.全年所有票据的ID号是连续的,但ID的开始数码是随机选定的. 因为工作人 ...

  8. 数据结构和算法with Python

    http://www.math.pku.edu.cn/teachers/qiuzy/ds_python/courseware/index.htm

  9. multiple definition of `qMain(int, char**)'

    QT C++ 我上一分钟运行地好好的,下一分钟就无法通过编译了.查了半天发现在IDE自动生成的项目文件.pro中 main竟然包含了两遍.我对这表示很无语,我完全是通过IDE来操作,却产生一些我不易察 ...

  10. 【MySQL】【一】shell

    进入MySQL:mysql -u root -p 查看当前数据库下所有库:mysql> show databases; 切换到某库:mysql> use sys; 查看sys库下所有表:m ...