JavaScript
Html代码
<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 οnclick="javascript:window.open('test2.html', 'newwindow2', 'height=480,width=768');">更多</button>
</body>
Html代码
<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" οnclick="getSelect('ID','Name');" /> </td>
<td>ID</td>
<td>Name</td>
</tr>
<tr>
<td><input type="radio" name="user" οnclick="getSelect('1','用户1');" /> </td>
<td>1</td>
<td>用户1</td>
</tr>
<tr>
<td><input type="radio" name="user" οnclick="getSelect('2','用户2');" /></td>
<td>2</td>
<td>用户2</td>
</tr>
<tr><td colspan="3"><input type="button" οnclick="javascript:submitSelect();" value="提 交" />
<input type="button" οnclick="javascript:window.parent.close();" value="关闭" /></td></tr>
</table>
</form>
</body>
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:
Html代码



<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 οnclick="javascript:window.open('test2.html', 'newwindow2', 'height=480,width=768');">更多</button>
</body>
<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 οnclick="javascript:window.open('test2.html', 'newwindow2', 'height=480,width=768');">更多</button> </body>
B:
Html代码



<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" οnclick="getSelect('ID','Name');" /> </td>
<td>ID</td>
<td>Name</td>
</tr>
<tr>
<td><input type="radio" name="user" οnclick="getSelect('1','用户1');" /> </td>
<td>1</td>
<td>用户1</td>
</tr>
<tr>
<td><input type="radio" name="user" οnclick="getSelect('2','用户2');" /></td>
<td>2</td>
<td>用户2</td>
</tr>
<tr><td colspan="3"><input type="button" οnclick="javascript:submitSelect();" value="提 交" />
<input type="button" οnclick="javascript:window.parent.close();" value="关闭" /></td></tr>
</table>
</form>
</body>