layer.js子窗口关闭并传数据到父窗的方法
昨晚整了很晚,一直找不到方法。去官网api看了好久,又在网上搜了很久 始终找不到答案。今天自己终于找到了方法。
难点:因为 确认和取消按钮都是在父窗 调用js生成的按钮。只能从父窗回调的时候去去数据并关闭子窗口。并不是子窗口自己关闭并把数据传到父窗。而网上给出的很多答案都是子窗口自己关闭并传数据到父窗的方法。
【贴出我自己的代码,大概实现了流程。具体自己根据情况修改】
我的代码功能是 子窗口要传递数组给父窗,具体复杂的数据格式(如json等)类似
1.子窗口代码
var urls;
function getUrls()
{
return urls;
}
将变量的值用方法传出来
2.父窗的代码
function OpenWindow()
{
top.layer.open({
id: "UploadPic",
title: "图片上传",
content: "/Actor/UploadPic",
area: ["800px", "580px"],
shade: 0.3,
type: 2,
fix: false,
btn: ['确认', '关闭'],
btnclass: ['btn btn-primary', 'btn btn-danger'],
yes: function (index, layero) {
var tem = $(layero).find("iframe")[0].contentWindow.getUrls();
PicCallBack(tem);
parent.layer.close(index);
}, cancel: function () {
return true;
}
});
}
调子窗口的方法 取到数据,并关闭子窗口
3.
PicCallBack方法是父窗口的方法,参数是从子窗口传过来的数据,具体方法就不写了、
大概流程就是这样
layer.js子窗口关闭并传数据到父窗的方法的更多相关文章
- [js综合问题汇总]js窗口关闭事件,表单名称,父窗口子窗口,var变量名
<script type="text/javascript"> window.onbeforeunload = onbeforeunload_handler; //wi ...
- jquery的colorbox关闭并传递数据到父窗
function closebox(para1, para2) { var k = parent;// 父窗口对象 k.document.getElementById("para1" ...
- 【2016-11-6】【坚持学习】【Day21】【子窗口关闭时,同步关闭它的主窗口(方法二)】
根据上文,在子窗口设置一个委托.然后在子窗口关闭事件,执行委托实例,然后在主窗口增加监听委托的方法.... 想想,本事关闭事件就是一个特殊的委托.那么干嘛还要特意去声明一个新的呢?多此一举. 于是有下 ...
- JS获取子窗口中返回的数据
在开发的时候,遇到了这样一个问题,客户填写自己的收货地址,可以新建,但同时也可以选择之前填写的,由于我们的客户本身就是商户,地址繁多,把它之前的地址简单用个下拉框罗列出来显然不合适,并且客户要求能够对 ...
- 转-JS子窗口创建父窗口操作父窗口
Javascript弹出子窗口 可以通过多种方式实现,下面介绍几种方法 (1) 通过window对象的open()方法,open()方法将会产生一个新的window窗口对象 其用法为: window ...
- js子窗口修改父窗口内容
在框架中,我用 JavaScript 获取 JSON 数据,组织成 HTML 代码,最后将其填充至上层文档的一个元素中.按照一般的写法,我们需要用到类似如下的语句: 1.window.parent.d ...
- js 子窗口调用父框框方法
父窗口 子窗口
- 父窗口和iframe子窗口之间相互传递参数和调用函数或方法
1.父窗口向子窗口传递参数: 可以在url中添加参数:2.html?a=1&b=2&c=3 然后在子页面上可用js解析,提供一个函数: function getQueryStr(sAr ...
- vue.js(19)--vue中子组件调用父组件的方法
子组件是不能直接使用父组件中的方法的,需要进行事件绑定(v-on:自定义方法名="父组件方法名"),然后在子组件中再定义一个方法,使用this.$emit('自定义方法名')语句完 ...
随机推荐
- 【转】VC中获取文件的相对路径和绝对路径
原文网址:http://www.360doc.com/content/13/0703/16/3402399_297386231.shtml
- MySQL问题集绵
1.MYSQL can't create table(errno:150) 详细:[Err] 1005 - Can't create table '.\ejforum\ejf_attach.frm' ...
- C# #if DEBUG
首先,大小写不能写错,其次,解决方案配置设为:Debug,才会执行该语句,如果在条件里面搭配Debug.Assert等,效果甚佳.而如果要设置为Release模式,就不会执行条件语句中的内容,有时候可 ...
- Android中界面实现全屏显示的两种方式
在开发android的应用当中,我们会遇到将一些界面设置为全屏显示的格式,有两种实现的方法.其一是在Java代码中实现,其二是在配置文件中实现. 1. 在Java代码中设置 super.onCreat ...
- LightOJ 1259 Goldbach`s Conjecture 水题
不想说了 #include <cstdio> #include <iostream> #include <ctime> #include <vector> ...
- [liu yanling]软件测试分为哪几个计划过程阶段
a) 计划阶段:编写测试计划,搭建测试环境,准备测试数据b) 设计阶段:编写测试用例(需求分析和测试用例文档)c) 执行阶段:执行测试用例,生成缺陷d) 报告阶段:测试报告,改进意见
- HDU 1114 iggy-Bank(完全背包)
水 给出小猪钱罐的重量和装满钱后的重量,然后是几组数据,每组数据包括每种钱币的价值与重量 要求出重量最少能装满钱罐时的最大价值 #include<iostream> #include< ...
- 在浏览器中使用jquery取得iframe中页面中指定元素的值的不同
自己使用aspx页面中嵌套了ascx的页面其中使用了iframe的一些内容,出现了同一个页面的两种取值的方式 1. 在iframe的包含页面,需要使用iframe的页面中的元素,是需要使用$(wind ...
- yuv 图像里的stride和plane的解释
stride可以翻译为:跨距 stride指在内存中每行像素所占的空间.如下图所示,为了实现内存对齐(或者其它的什么原因),每行像素在内存中所占的空间并不是图像的宽度. plane一般是以luma p ...
- 64位linux安装android sdk的问题
截至到今天,似乎在64位机器下安装android sdk存在不能运行的问题,可以用以下方法解决: Android SDK requires: Fedora 17 64bit with 32bit An ...