当前位置: 代码迷 >> Web前端 >> 网页父窗口回调子窗口数据,window parent的施用
  详细解决方案

网页父窗口回调子窗口数据,window parent的施用

热度:143   发布时间:2012-09-10 11:02:32.0
网页父窗口回调子窗口数据,window parent的使用。

1. opener 和open的区别?一个是属性,一个是函数。
2. self等于window。
3. self.close()等与 window.close(),不是让让某个文字当作关闭,不同于this.close () 。this.close ()会有语法错误的。用按钮的话,一样的 <input type=button onclick ="self.close()"> 。

你是把self 和 this弄混了。this是指当前对象。self特指当前窗体。

窗体通常包括:
window : 代表当前窗体
self : 也代表当前窗体
opener : 代表打开该窗体的窗体。也就是你在一个IE窗口A中open另一个窗口B, 那么,B.opener 就是A。
parent : 代表父窗体,只有frame\iframe才会有这个属性。

至于补充3:属性和方法没有可比性阿。。

?

页面回调例子:

A:

?

<head>
<script type="text/javascript">
	function getInfo(id,name){
		document.getElementById("id").value = id;
		document.getElementById("name").value = name;
	}
</script>
<title>Test1</title>
</head>
<body>
	I D:<input id="id" value="" /><br />
	Name:<input id="name" value="" /><br />
	<button onclick="javascript:window.open('test2.html', 'newwindow2', 'height=480,width=768');">更多</button>
</body>

?

B:

?

<head>
<script language="javascript" type="text/javascript">
	var isSelect=false;
	var id;
	var name;
	
	function getSelect(id1,name1){
		isSelect = true;
		id = id1;
		name = name1;
	}
	
	function submitSelect(){
		if(isSelect){
			this.opener.getInfo(id,name);
			self.close();
		}else{
			alert('请选择人员');
		}
	}
</script>
<title>Test2</title>
</head>
	
<body>
  <form action="test1" method="post" name="formPo" id="formPo">
	<table width="200" border="1">
  <tr>
    <td><input type="radio" name="user" onclick="getSelect('ID','Name');" /> </td>
    <td>ID</td>
    <td>Name</td>
  </tr>
  <tr>
    <td><input type="radio" name="user" onclick="getSelect('1','用户1');" /> </td>
    <td>1</td>
    <td>用户1</td>
  </tr>
  <tr>
    <td><input type="radio" name="user" onclick="getSelect('2','用户2');" /></td>
    <td>2</td>
    <td>用户2</td>
  </tr>
  <tr><td colspan="3"><input type="button" onclick="javascript:submitSelect();" value="提 交" />
			<input type="button" onclick="javascript:window.parent.close();" value="关闭" /></td></tr>
</table>
</form>
</body>
?

?

  相关解决方案