window.opener用法和用途实例介绍


Posted in Javascript onAugust 19, 2013

window.opener,是通过window.open打开子窗体的父窗体的引用。

比如在父窗体parentForm里面,通过window.open("subForm.html"),那么在subform.html中window.opener就代表parentForm。既然在子窗体中能够拿到父窗体的引用,那么就可以在子窗体中设置父窗体的字段值或者调用js方法。
实例:添加人员信息时,其中的机构信息通过子窗体完成输入
父亲窗体,用于添加人员信息。

子窗体完成输入后,机构信息(id、name)自动填充到父窗体的orgId、orgName域
window.opener用法和用途实例介绍 
html代码

<tr> 
<tdclass="tdEditLabel">机构</td> 
<tdclass="tdEditContent" colspan="3"style="width:400px;text-align:left"> 
<input type="hidden"name="orgId" id="orgIdId"> 
<!-- disabled修饰的内容 不提交 --> 
<input type="text"name="orgName" disabled="disabled"id="orgNameId"> 
<input type="button"name="selectOrgButton" value="选择机构" 
onclick="openWin('org.do?select=true','selectorg',800,500,1)"> 
</td> 
</tr>

JS代码
/* 
*打开新窗口(通过window.open()) 
* f:链接地址 
* n:窗口的名称 
* w:窗口的宽度 
* h:窗口的高度 
* s:窗口是否有滚动条,1:有滚动条;0:没有滚动条 
*/ 
functionopenWin(f,n,w,h,s){ 
sb= s == "1" ? "1" : "0"; 
l= (screen.width - w)/2; 
t= (screen.height - h)/2; 
sFeatures= "left="+ l +",top="+ t +",height="+ h+",width="+ w 
+",center=1,scrollbars=" + sb +",status=0,directories=0,channelmode=0"; 
openwin= window.open(f , n , sFeatures ); 
if(!openwin.opener) 
openwin.opener= self; 
openwin.focus(); 
returnopenwin; 
}

子窗体,供选择机构信息。

当选择后(通过单击radio),机构信息(id、name)将填充到父窗体的orgId、orgName域
window.opener用法和用途实例介绍 
html代码

<!--列表数据栏 --> 
<c:iftest="${!empty pm.datas}"> 
<c:forEachitems="${pm.datas }" var="org"> 
<trbgcolor="#EFF3F7" class="TableBody1"onmouseover="this.bgColor = '#DEE7FF';"onmouseout="this.bgColor='#EFF3F7';"> 
<td align="center"vAlign="center"> 
<input type="radio"onclick="selectOrg('${org.id }','${org.name }')"> 
</td> 
<tdalign="center" vAlign="center">${org.id}</td> 
<tdalign="center" vAlign="center"><ahref="org.do?parentId=${org.id }&select=true">${org.name}</a></td> 
<tdalign="center" vAlign="center">${org.sn }</td> 
<tdalign="center" vAlign="center">${org.parent.name}</td> 
</tr> 
</c:forEach> 
</c:if>

JS代码
functionselectOrg(id,name){ 
if(window.opener){ 
window.opener.document.all.orgIdId.value= id; 
window.opener.document.all.orgNameId.value= name; 
window.close(); 
} 
}

选择机构信息后的结果
window.opener用法和用途实例介绍 
完成机构信息(id、name)的输入了,只是id在隐藏域中,看不到而已。
小结
说到对父窗体的引用,除了window.opener,就是window.parent了。window.opener是用于通过window.open方式打开子窗体,而window.parent是用于通过iframe方式打开子窗体。
Javascript 相关文章推荐
jquery模拟按下回车实现代码
Sep 20 Javascript
来自国外的30个基于jquery的Web下拉菜单
Jun 22 Javascript
JavaScript 中的日期和时间及表示标准介绍
Aug 21 Javascript
javascript打印html内容功能的方法示例
Nov 28 Javascript
javascript运算符——逻辑运算符全面解析
Jun 27 Javascript
JavaScript设计模式之单体模式全面解析
Sep 09 Javascript
jQuery实现的文字逐行向上间歇滚动效果示例
Sep 06 jQuery
小程序实现单选多选功能
Nov 04 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
Mar 05 Javascript
基于JS实现快速读取TXT文件
Aug 25 Javascript
Vue.js暴露方法给WebView的使用操作
Sep 07 Javascript
React中使用Vditor自定义图片详解
Dec 25 Javascript
JavaScript异步编程:异步数据收集的具体方法
Aug 19 #Javascript
文本框中禁止非数字字符输入比如手机号码、邮编
Aug 19 #Javascript
JQUERY 获取IFrame中对象及获取其父窗口中对象示例
Aug 19 #Javascript
时间戳转换为时间 年月日时间的JS函数
Aug 19 #Javascript
详解JavaScript函数绑定
Aug 18 #Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
Aug 18 #Javascript
jQuery焦点图切换特效插件封装实例
Aug 18 #Javascript
You might like
PHP和JavaScrip分别获取关联数组的键值示例代码
2013/09/16 PHP
php去掉URL网址中带有PHPSESSID的配置方法
2014/07/08 PHP
再推荐十款免费的php开发工具
2015/11/09 PHP
PHP实现基于mysqli的Model基类完整实例
2016/04/08 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
PHP创建XML接口示例
2019/07/04 PHP
Javascript isArray 数组类型检测函数
2009/10/08 Javascript
Javascript实现简单二级下拉菜单实例
2014/06/15 Javascript
js获取UserControl内容为拼html时提供方便
2014/11/02 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
JavaScript实现当网页加载完成后执行指定函数的方法
2015/03/21 Javascript
jQuery插件ajaxFileUpload异步上传文件
2016/10/19 Javascript
AngularJS 防止页面闪烁的方法
2017/03/09 Javascript
BootStrap表单控件之文本域textarea
2017/05/23 Javascript
vue单页缓存方案分析及实现
2018/09/25 Javascript
Node如何后台数据库使用增删改查功能
2019/11/21 Javascript
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
在python中pandas的series合并方法
2018/11/12 Python
简单了解python的内存管理机制
2019/07/08 Python
关于python字符串方法分类详解
2019/08/20 Python
Python 下载及安装详细步骤
2019/11/04 Python
使用Python内置模块与函数进行不同进制的数的转换
2020/04/26 Python
Python中无限循环需要什么条件
2020/05/27 Python
多个版本的python共存时使用pip的正确做法
2020/10/26 Python
Django执行源生mysql语句实现过程解析
2020/11/12 Python
Weekendesk意大利:探索多种引人入胜的周末主题
2016/10/14 全球购物
美国折扣网站:jClub
2017/08/07 全球购物
介绍一下gcc特性
2012/01/20 面试题
商务日语毕业生自荐信范文
2013/11/14 职场文书
运动会广播稿300字
2014/01/10 职场文书
幼儿园小班个人总结
2015/02/12 职场文书
技术支持岗位职责
2015/02/13 职场文书
关爱空巢老人感想
2015/08/11 职场文书
2015年度女工工作总结
2015/10/22 职场文书
《家》读后感:万惜拯救,冷暖自知
2019/09/25 职场文书
励志正能量20句:送给所有为梦想拼搏的人
2019/11/11 职场文书