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 相关文章推荐
JS命名空间的另一种实现
Aug 09 Javascript
JavaScript将页面表格导出为Excel的具体实现
Dec 27 Javascript
DIV始终居中的js代码
Feb 17 Javascript
JS使用getComputedStyle()方法获取CSS属性值
Apr 23 Javascript
jQuery中scrollTop()方法用法实例
Jan 16 Javascript
javascript多物体运动实现方法分析
Jan 08 Javascript
jQuery mobile的header和footer在点击屏幕的时候消失的解决办法
Jul 01 Javascript
Angular.js跨controller实现参数传递的两种方法
Feb 20 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
Aug 24 jQuery
详解开发react应用最好用的脚手架 create-react-app
Apr 24 Javascript
es6数组之扩展运算符操作实例分析
Apr 25 Javascript
ReactRouter的实现方法
Jan 25 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
PHP 5.0对象模型深度探索之绑定
2006/09/05 PHP
php为什么选mysql作为数据库? Mysql 创建用户方法
2007/07/02 PHP
dedecms 批量提取第一张图片最为缩略图的代码(文章+软件)
2009/10/29 PHP
Laravel实现定时任务的示例代码
2017/08/10 PHP
出现“不能执行已释放的Script代码”错误的原因及解决办法
2007/08/29 Javascript
Node.js安装教程和NPM包管理器使用详解
2014/08/16 Javascript
使用jquery+CSS实现控制打印样式
2014/12/31 Javascript
js拆分字符串并将分割的数据放到数组中的方法
2015/05/06 Javascript
js兼容火狐显示上传图片预览效果的方法
2015/05/21 Javascript
js限制文本框只能输入中文的方法
2015/08/11 Javascript
jQuery树形下拉菜单特效代码分享
2015/08/15 Javascript
js实现拖拽效果(构造函数)
2015/12/14 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
论JavaScript模块化编程
2016/03/07 Javascript
微信小程序-拍照或选择图片并上传文件
2017/01/06 Javascript
Js利用Canvas实现图片压缩功能
2017/09/13 Javascript
js之切换全屏和退出全屏实现代码实例
2019/09/09 Javascript
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python基于select实现的socket服务器
2016/04/13 Python
老生常谈Python基础之字符编码
2017/06/14 Python
Python实现购物程序思路及代码
2017/07/24 Python
python增加矩阵维度的实例讲解
2018/04/04 Python
pandas获取groupby分组里最大值所在的行方法
2018/04/20 Python
Python3单行定义多个变量或赋值方法
2018/07/12 Python
Python运行不显示DOS窗口的解决方法
2018/10/22 Python
实时获取Python的print输出流方法
2019/01/07 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
2019/09/25 Python
Python Pandas 转换unix时间戳方式
2019/12/07 Python
Pyinstaller加密打包应用的示例代码
2020/06/11 Python
html5 实现客户端验证上传文件的大小(简单实例)
2016/05/15 HTML / CSS
类成员函数的重载、覆盖和隐藏区别
2016/01/27 面试题
实习销售业务员自我鉴定
2013/09/21 职场文书
英文演讲稿
2014/05/15 职场文书
创先争优标语
2014/06/27 职场文书
车间统计员岗位职责
2015/04/14 职场文书
Nginx的rewrite模块详解
2021/03/31 Servers