手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >window.opener用法和用途实例介绍
window.opener用法和用途实例介绍
摘要:window.opener,是通过window.open打开子窗体的父窗体的引用。比如在父窗体parentForm里面,通过window.o...

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

比如在父窗体parentForm里面,通过window.open("subForm.html"),那么在subform.html中window.opener就代表parentForm。既然在子窗体中能够拿到父窗体的引用,那么就可以在子窗体中设置父窗体的字段值或者调用js方法。

实例:添加人员信息时,其中的机构信息通过子窗体完成输入

父亲窗体,用于添加人员信息。

子窗体完成输入后,机构信息(id、name)自动填充到父窗体的orgId、orgName域

1

html代码

复制代码 代码如下:

<tr>

<tdclass="tdEditLabel">机构</td>

<tdclass="tdEditContent" colspan="3"style="width:400px;text-align:left">

<input type="hidden"name="orgId" id="orgIdId">

<>

<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域

2

html代码

复制代码 代码如下:

<>

<c:iftest="${!empty pm.datas}">

<c:forEachitems="${pm.datas }" var="org">

<trbgcolor="#EFF3F7"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();

}

}

选择机构信息后的结果

3

完成机构信息(id、name)的输入了,只是id在隐藏域中,看不到而已。

小结

说到对父窗体的引用,除了window.opener,就是window.parent了。window.opener是用于通过window.open方式打开子窗体,而window.parent是用于通过iframe方式打开子窗体。

【window.opener用法和用途实例介绍】相关文章:

javaScript中push函数用法实例分析

AngularJS中的一些常用指令介绍

js中setTimeout()与clearTimeout()用法实例浅析

JavaScript AOP编程实例

JavaScript使用addEventListener添加事件监听用法实例

angular2使用简单介绍

javascript原型模式用法实例详解

jquery使用each方法遍历json格式数据实例

JQuery中Text方法用法实例分析

javaScript中slice函数用法实例分析

精品推荐
分类导航