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 相关文章推荐
一个可以显示阴历的JS代码
Mar 05 Javascript
基于Jquery+Ajax+Json的高效分页实现代码
Oct 29 Javascript
JavaScript中判断对象类型的几种方法总结
Nov 11 Javascript
js的隐含参数(arguments,callee,caller)使用方法
Jan 28 Javascript
JQEasy-ui在IE9以下版本中二次加载的问题分析及处理方法
Jun 23 Javascript
深入探讨javascript函数式编程
Oct 11 Javascript
微信小程序 教程之WXSS
Oct 18 Javascript
xmlplus组件设计系列之树(Tree)(9)
May 02 Javascript
React注册倒计时功能的实现
Sep 06 Javascript
基于jQuery实现挂号平台首页源码
Jan 06 jQuery
node.js使用zlib模块进行数据压缩和解压操作示例
Feb 12 Javascript
html中两种获取标签内的值的方法
Jun 16 jQuery
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
codeigniter数据库操作函数汇总
2014/06/12 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
2017/03/06 PHP
使用jQuery插件创建常规模态窗口登陆效果
2013/08/23 Javascript
获取3个数组不重复的值的具体实现
2013/12/30 Javascript
Javascript学习笔记之 对象篇(三) : hasOwnProperty
2014/06/24 Javascript
jQuery获取对象简单实现方法小结
2014/10/30 Javascript
了不起的node.js读书笔记之node的学习总结
2014/12/22 Javascript
jQuery实现的向下图文信息滚动效果
2015/05/03 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
Vue.js第一天学习笔记(数据的双向绑定、常用指令)
2016/12/01 Javascript
Vue.js第二天学习笔记(vue-router)
2016/12/01 Javascript
BootStrop前端框架入门教程详解
2016/12/25 Javascript
使用原生的javascript来实现轮播图
2017/02/24 Javascript
Ionic + Angular.js实现验证码倒计时功能的方法
2017/06/12 Javascript
微信小程序使用wxParse解析html的方法教程
2018/07/06 Javascript
vue实现可视化可拖放的自定义表单的示例代码
2019/03/20 Javascript
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
jquery实现轮播图特效
2020/04/12 jQuery
可用于监控 mysql Master Slave 状态的python代码
2013/02/10 Python
Python中的CURL PycURL使用例子
2014/06/01 Python
在Django中编写模版节点及注册标签的方法
2015/07/20 Python
Python查找最长不包含重复字符的子字符串算法示例
2019/02/13 Python
基于python实现对文件进行切分行
2020/04/26 Python
Mavi牛仔裤美国官网:土耳其著名牛仔品牌
2016/09/24 全球购物
全球销量第一生发产品:Viviscal
2017/12/21 全球购物
英国马匹装备和马术用品购物网站:Equine Superstore
2019/03/03 全球购物
TUMI香港官网:国际领先的行李箱、背囊品牌
2021/03/01 全球购物
销售总监工作职责
2013/11/21 职场文书
个人思想理论学习的自我鉴定
2013/11/30 职场文书
建筑工程管理专业自荐信范文
2013/12/28 职场文书
医院总经理岗位职责
2014/02/04 职场文书
个人合作协议书范本
2014/04/18 职场文书
电子商务专业应届毕业生求职信
2014/06/21 职场文书
gateway与spring-boot-starter-web冲突问题的解决
2021/07/16 Java/Android
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
2022/04/09 Javascript
海康机器人重磅发布全新算法开发平台VM4.2
2022/04/21 数码科技