layui框架中layer父子页面交互的方法分析


Posted in Javascript onNovember 15, 2017

本文实例讲述了layui框架中layer父子页面交互的方法。分享给大家供大家参考,具体如下:

layer是一款近年来备受青睐的web弹层组件,官网地址是:http://layer.layui.com/

可以从官网上下载最新版本。

还可点击此处本站下载

当layer以iframe层的方式弹出新的窗口(子页面),如何在子页面中访问父页面的元素和函数。

1、访问父页面元素值

var parentId=parent.$("#id").val();//访问父页面元素值

2、访问父页面方法

var parentMethodValue=parent.getMethodValue();//访问父页面方法

3、如何关闭弹出的子页面窗口

var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
parent.layer.close(index);//关闭弹出的子页面窗口

4、如何从子页面执行刷新父页面操作

parent.location.reload(); // 父页面刷新

附:layer弹出多个iframe找到父页面的方法

父页面:

function aa(){
    var index = parent.layer.getFrameIndex(window.name);
    var iframeName = 'layui-layer-iframe'+index;
    openDialog1('选择XXX', '${ctx}/*****,'800px', '500px',iframeName);
}
function openDialog1(title,url,width,height,target){
    top.layer.open({
      type: 2,
      area: [width, height],
      title: title,
      maxmin: true, //开启最大化最小化按钮
      content: url ,
      btn: ['确定', '关闭'],
      yes: function(index, layero){
         var body = top.layer.getChildFrame('body', index);
         var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
         var inputForm = body.find('#inputForm');
         var top_iframe;
         if(target){
           top_iframe = target;//如果指定了iframe,则在改frame中跳转
         }else{
           top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
         }
         inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
         if(iframeWin.contentWindow.doSubmit(top_iframe) ){
           top.layer.close(index);//关闭对话框。
           top.window[iframeName].frames.location.reload();//刷新父亲
         }
     },
     cancel: function(index){
      }
  });
}
//子页面回调方法
function addRecord(name,chainName){
  alert(name);
}

子页面

function doSubmit(iframeName) {
    var sel=$("tbody tr td input.i-checks:checked");
    var size = sel.size();
    if(size==0){
      top.layer.alert('请至少选择一条数据!', {icon: 0, title:'警告'});
      return false;
    }else{
      for(var i=0;i<size;i++){
        top.window[iframeName].addRecord(sel[i].name,sel[i].value);
      }
      return true;
    }
}

另:layui完整源码可点击此处本站下载

希望本文所述对大家基于layui框架的程序设计有所帮助。

Javascript 相关文章推荐
[Web]防止用户复制页面内容和另存页面的方法
Feb 06 Javascript
JQuery 实现的页面滚动时浮动窗口控件
Jul 10 Javascript
基于jquery的$.ajax async使用
Oct 19 Javascript
jQuery 回车事件enter使用示例
Feb 18 Javascript
Javascript URI 解析介绍
Mar 15 Javascript
Three.js学习之文字形状及自定义形状
Aug 01 Javascript
Vue数据驱动模拟实现3
Jan 11 Javascript
详解vue静态资源打包中的坑与解决方案
Feb 05 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
Mar 01 Javascript
详解SPA中前端路由基本原理与实现方式
Sep 12 Javascript
详解js动态获取浏览器或页面等容器的宽高
Mar 13 Javascript
node.JS事件机制与events事件模块的使用方法详解
Feb 06 Javascript
layer实现关闭弹出层刷新父界面功能详解
Nov 15 #Javascript
layui.js实现的表单验证功能示例
Nov 15 #Javascript
javascript函数的节流[throttle]与防抖[debounce]
Nov 15 #Javascript
基于jQuery实现定位导航位置效果
Nov 15 #jQuery
详解如何使用PM2将Node.js的集群变得更加容易
Nov 15 #Javascript
vuejs实现本地数据的筛选分页功能思路详解
Nov 15 #Javascript
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
Nov 15 #Javascript
You might like
解决File size limit exceeded 错误的方法
2013/06/14 PHP
如何实现php图片等比例缩放
2015/07/28 PHP
常用PHP封装分页工具类
2017/01/14 PHP
php实现给二维数组中所有一维数组添加值的方法
2017/02/04 PHP
Thinkphp5框架ajax接口实现方法分析
2019/08/28 PHP
基于laravel Request的所有方法详解
2019/09/29 PHP
laravel开发环境homestead搭建过程详解
2020/07/03 PHP
javascript编码的几个方法详细介绍
2013/01/06 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
2014/04/03 Javascript
js实现编辑div节点名称的方法
2014/12/17 Javascript
js实现的捐赠管理完整实例
2015/01/20 Javascript
javascript实现网页子页面遍历回调的方法(涉及 window.frames、递归函数、函数上下文)
2015/07/27 Javascript
深入学习AngularJS中数据的双向绑定机制
2016/03/04 Javascript
全面了解addEventListener和on的区别
2016/07/14 Javascript
10 种最常见的 Javascript 错误(频率最高)
2018/02/08 Javascript
小程序自定义日历效果
2018/12/29 Javascript
Node.js操作系统OS模块用法分析
2019/01/04 Javascript
layui表格数据复选框回显设置方法
2019/09/13 Javascript
Python中字典(dict)合并的四种方法总结
2017/08/10 Python
对numpy中数组元素的统一赋值实例
2018/04/04 Python
Python解决走迷宫问题算法示例
2018/07/27 Python
python随机数分布random测试
2018/08/27 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
2020/07/14 Python
python 写一个文件分发小程序
2020/12/05 Python
特罗佩亚包官方网站:Tropea
2017/01/03 全球购物
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
垃圾回收的优点和原理
2014/05/16 面试题
企业精细化管理实施方案
2014/03/23 职场文书
车辆转让协议书
2014/04/15 职场文书
人力资源管理系自荐信
2014/05/31 职场文书
大学生思想道德自我评价
2015/03/09 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书
小学英语听课心得体会
2016/01/14 职场文书
python游戏开发之pygame实现接球小游戏
2022/04/22 Python
win10壁纸在哪个文件夹 win10桌面背景图片文件位置分享
2022/08/05 数码科技