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 相关文章推荐
从sohu弄下来的flash中展示图片的代码
Apr 27 Javascript
JS 实现Json查询的方法实例
Apr 12 Javascript
JS特殊函数(Function()构造函数、函数直接量)区别介绍
May 19 Javascript
JS实现左右无缝轮播图代码
May 01 Javascript
JS实现HTML表格排序功能
Aug 05 Javascript
JS实现改变HTML上文字颜色和内容的方法
Dec 30 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
Apr 19 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
May 20 Javascript
JS获取浏览器地址栏的多个参数值的任意值实例代码
Jul 24 Javascript
Vue常用的几个指令附完整案例
Nov 06 Javascript
jQuery属性选择器用法实例分析
Jun 28 jQuery
VUE Elemen-ui之穿梭框使用方法详解
Jan 19 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自动跳转中英文页面
2008/07/29 PHP
PHP序列号生成函数和字符串替换函数代码
2012/06/07 PHP
使用CodeIgniter的类库做图片上传
2014/06/12 PHP
PHP实现登陆表单提交CSRF及验证码
2017/01/24 PHP
Jquery ui css framework
2010/06/28 Javascript
影响jQuery使用的14个方面
2014/09/01 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
AngularJS基础 ng-switch 指令简单示例
2016/08/03 Javascript
vue 2.0封装model组件的方法
2017/08/03 Javascript
Koa日志中间件封装开发详解
2019/03/09 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
Vue.js数字输入框组件使用方法详解
2019/10/19 Javascript
详解Vue 项目中的几个实用组件(ts)
2019/10/29 Javascript
JS实现百度搜索框关键字推荐
2020/02/17 Javascript
js实现随机点名器精简版
2020/06/29 Javascript
Vue如何实现监听组件原生事件
2020/07/03 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
2020/11/16 Javascript
uniapp微信小程序:key失效的解决方法
2021/01/20 Javascript
python版本的读写锁操作方法
2016/04/25 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
Python实现把类当做字典来访问
2019/12/16 Python
Python获取二维数组的行列数的2种方法
2020/02/11 Python
CSS3弹性盒模型flex box快速入门心得(必看篇)
2016/05/24 HTML / CSS
css3 flex实现div内容水平垂直居中的几种方法
2020/03/27 HTML / CSS
麦当劳印度网上订餐:McDelivery
2020/03/16 全球购物
为什么group by 和order by会使查询变慢
2014/05/16 面试题
户外婚礼策划方案
2014/02/08 职场文书
企业节能减排实施方案
2014/03/19 职场文书
招股说明书范本
2014/05/06 职场文书
安全教育演讲稿
2014/05/09 职场文书
投资建议书模板
2014/05/12 职场文书
商场周年庆活动方案
2014/08/19 职场文书
研究生个人学年总结
2015/02/14 职场文书
使用tensorflow 实现反向传播求导
2021/05/26 Python