javascript showModalDialog,open取得父窗口的方法


Posted in Javascript onMarch 10, 2010

通常使用window.open的方式开启新窗口的话
要取得父窗口的控件,可以用window.opener来取得父窗口
然而如果使用showModalDialog的话...却无效
如果有需要的话,需要修改开启的语法以及showModalDialog中的语法
开启语法第2个参数请下self,范例如下
var rc=window.showModalDialog(strURL,self,sFeatures);
然后接着就是呼叫父窗口的语法
var pWindow=window.dialogArguments;
这样就可以取得父窗口的window对象控制了。例如:
window.dialogArguments.document.getElementsByName("processId")[0].value;

js中 opener和parent的区别

opener即谁打开我的,比如A页面利用window.open弹出了B页面窗口,那么A页面所在窗口就是B页面的
opener,在B页面通过opener对象可以访问A页面。
parent表示父窗口,比如一个A页面利用iframe或frame调用B页面,那么A页面所在窗口就是B页面的
parent。
在JS中,window.opener只是对弹出窗口的母窗口的一个引用。比如:
a.html中,通过点击按钮等方式window.open出一个新的窗口b.html。那么在b.html中,就可以通过
window.opener(省略写为opener)来引用a.html,包括a.html的document等对象,操作a.html的内容。
假如这个引用失败,那么将返回null。所以在调用opener的对象前,要先判断对象是否为null,否则会
出现“对象为空或者不存在”的JS错误。

<html> 
<body> 
<form. name=form1> 
<input type=text name=inpu > 
<input type=button > 
</form> 
</body> 
</html>

back2opener.html
<html> 
<body> 
<form. name=form1> 
<input type=text name=inpu > 
<a class=under href=# >添加</a> 
</form> 
</body> 
</html>

window.opener 返回的是创建当前窗口的那个窗口的引用,比如点击了a.htm上的一个链接而打开了
b.htm,然后我们打算在b.htm上输入一个值然后赋予a.htm上的一个id为“name”的textbox中,就可以
写为:
window.opener.document.getElementById("name").value = "输入的数据";
Javascript 相关文章推荐
javascript生成/解析dom的CDATA类型的字段的代码
Apr 22 Javascript
你必须知道的JavaScript 变量命名规则详解
May 07 Javascript
JavaScript实现弹出子窗口并传值给父窗口
Dec 18 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
Nov 17 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
Jan 04 Javascript
如何在JS中实现相互转换XML和JSON
Jul 19 Javascript
jquery之别踩白块游戏的简单实现
Jul 25 Javascript
Bootstrap CSS组件之按钮下拉菜单
Dec 17 Javascript
nginx部署访问vue-cli搭建的项目的方法
Feb 12 Javascript
详解Angular中通过$location获取地址栏的参数
Aug 02 Javascript
微信小程序页面传多个参数跳转页面的实现方法
May 17 Javascript
vue 解决路由只变化参数页面组件不更新问题
Nov 05 Javascript
ExtJs3.0中Store添加 baseParams 的Bug
Mar 10 #Javascript
js Date自定义函数 延迟脚本执行
Mar 10 #Javascript
js 蒙版进度条(结合图片)
Mar 10 #Javascript
javascript 事件查询综合 推荐收藏
Mar 10 #Javascript
JQuery的html(data)方法与&amp;lt;script&amp;gt;脚本块的解决方法
Mar 09 #Javascript
Jquery替换已存在于element上的event的方法
Mar 09 #Javascript
JQery jstree 大数据量问题解决方法
Mar 09 #Javascript
You might like
YII实现分页的方法
2014/07/09 PHP
linux中cd命令使用详解
2015/01/08 PHP
PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
2015/03/19 PHP
检测codeigniter脚本消耗内存情况的方法
2015/03/21 PHP
php四种定界符详解
2017/02/16 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
2017/05/02 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
2019/03/30 PHP
Javascript里使用Dom操作Xml
2007/01/22 Javascript
js限制文本框只能输入数字(正则表达式)
2012/07/15 Javascript
简约JS日历控件 实例代码
2013/07/12 Javascript
javascript动态的改变IFrame的高度实现自动伸展
2013/10/12 Javascript
原生JS绑定滑轮滚动事件兼容常见浏览器
2014/06/30 Javascript
原生javascript实现图片弹窗交互效果
2015/01/12 Javascript
简单实现js页面切换功能
2021/01/10 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
浅谈jQuery中的$.extend方法来扩展JSON对象
2017/02/12 Javascript
javascript深拷贝的原理与实现方法分析
2017/04/10 Javascript
layui弹出层效果实现代码
2017/05/19 Javascript
vue-router beforeEach跳转路由验证用户登录状态
2018/12/26 Javascript
利用原生JavaScript实现造日历轮子实例代码
2019/05/08 Javascript
快速对接payjq的个人微信支付接口过程解析
2019/08/15 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
[04:56]经典回顾:前Ehome 与 前LGD
2015/02/26 DOTA
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
[07:25]DOTA2-DPC中国联赛2月5日Recap集锦
2021/03/11 DOTA
python的else子句使用指南
2016/02/27 Python
python动态加载包的方法小结
2016/04/18 Python
Python 加密的实例详解
2017/10/09 Python
设计师珠宝:Ylang 23
2018/05/11 全球购物
有关打架的检讨书
2014/01/25 职场文书
运动会方阵口号
2014/06/07 职场文书
担保书格式
2015/01/20 职场文书
2015年党风廉政承诺书
2015/01/22 职场文书
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android
Java后台生成图片的完整步骤
2021/08/04 Java/Android
Python 中面向接口编程
2022/05/20 Python