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 相关文章推荐
jquery 可排列的表实现代码
Nov 13 Javascript
jquery自动填充勾选框即把勾选框打上true
Mar 24 Javascript
关于JS数组追加数组采用push.apply的问题
Jun 09 Javascript
javascript制作的简单注册模块表单验证
Apr 13 Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
Jan 23 Javascript
js正则表达式replace替换变量方法
May 21 Javascript
每日十条JavaScript经验技巧(二)
Jun 23 Javascript
基于javascript实现数字英文验证码
Jan 25 Javascript
js中new一个对象的过程
Feb 20 Javascript
实例讲解JavaScript截取字符串
Nov 30 Javascript
详解babel升级到7.X采坑总结
May 12 Javascript
Javascript中的奇葩知识,你知道吗?
Jan 25 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
PHP的面试题集
2006/11/19 PHP
php提交post数组参数实例分析
2015/12/17 PHP
Apache PHP MySql安装配置图文教程
2016/08/27 PHP
PHP连接及操作PostgreSQL数据库的方法详解
2019/01/30 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
JS实现的省份级联实例代码
2013/06/24 Javascript
javascript中怎么做对象的类型判断
2013/11/11 Javascript
javascript实现页面内关键词高亮显示代码
2014/04/03 Javascript
Javascript玩转继承(一)
2014/05/08 Javascript
JavaScript获取当前时间向前推三个月的方法示例
2017/02/04 Javascript
Angular实现搜索框及价格上下限功能
2018/01/19 Javascript
VUE渲染后端返回含有script标签的html字符串示例
2019/10/28 Javascript
原生js实现的观察者和订阅者模式简单示例
2020/04/18 Javascript
解决vue字符串换行问题(绝对管用)
2020/08/06 Javascript
[27:02]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第三场
2014/05/24 DOTA
Python求算数平方根和约数的方法汇总
2016/03/09 Python
python去除空格和换行符的实现方法(推荐)
2017/01/04 Python
Python实现的快速排序算法详解
2017/08/01 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
2018/03/08 Python
python导包的几种方法(自定义包的生成以及导入详解)
2019/07/15 Python
python集成开发环境配置(pycharm)
2020/02/14 Python
详解python常用命令行选项与环境变量
2020/02/20 Python
Python3实现飞机大战游戏
2020/04/24 Python
基于opencv的selenium滑动验证码的实现
2020/07/24 Python
canvas像素画板的实现代码
2018/11/21 HTML / CSS
2019年分享net面试的经历和题目
2016/08/07 面试题
工程管理专业毕业生自荐信
2014/01/24 职场文书
一夜的工作教学反思
2014/02/08 职场文书
实现中国梦思想汇报2014
2014/09/13 职场文书
群众路线个人自我剖析材料
2014/10/07 职场文书
营业员岗位职责范本
2015/04/14 职场文书
《去年的树》教学反思
2016/02/18 职场文书
了解Redis常见应用场景
2021/06/23 Redis