父页面和子页面间刷新,关闭,操作,总结资料收集
--------------------------------------------------------------------------------
opener 与 argument
记住这两个就可以了
--------------------------------------------------------------------------------
parent
--------------------------------------------------------------------------------
window.open(...)
子页面中获取父页面对象:window.opener
window.showModalDialog(..)
子页面中获取父页面对象:window.dialogargument
--------------------------------------------------------------------------------
window.open(...)
子页面中获取父页面对象:window.opener
window.showModalDialog(..)
子页面中获取父页面对象:window.dialogargument
--------------------------------------------------------------------------------
a.html
HTML code
<html><body>要传的值
<input type='text' id='txtID' name='txtName' value='aa' /> <br>
<input type='button' value='open' οnclick="window.open('b.html');" />
<script>
alert('刷新了页面');
function method()
{alert('a.html');}
</script></body></html>
b.html
HTML code
<html><script>
function getValue(){
//document.getElementById('txt').value=window.opener.txtName.value;
document.getElementById('txt').value=window.opener.document.getElementById('txtID').value;}
</script>
<body οnlοad='getValue();'>
传过来的值是
<input type='text' id='txt' />
<input type='button' value='调用父窗口的方法' οnclick='window.opener.method();' />
<br><br><br>
设置父窗口的文本<input type='text' id='t' />
<input type='button' value='执行'
οnclick='window.opener.document.getElementById("txtID").value=document.getElementById("t").value;' />
<br><br>
<input type='button' value='刷新父窗口' οnclick='window.opener.location=window.opener.location;' />
<br><br>
<input type='button' value='关闭父窗口' οnclick='window.opener.close();opener=null;' />
</body></html>
--------------------------------------------------------------------------------
我一般从子窗口刷新父窗口
window.parent.location.href("aspx")
获得值: window.parent.document.getElementById("id")....;
--------------------------------------------------------------------------------
a.html
HTML code
<input type='button' value='showModalDialog' οnclick="window.showModalDialog('c.html',window);" />
因为是模态窗口,所以父页面刷新和关闭 不会马上呈现
c.html
HTML code
<html><script>
function getValue(){
if(window.dialogArguments){
document.getElementById('txt').value=window.dialogArguments.document.getElementById('txtID').value;
}}</script><body οnlοad='getValue();'>
传过来的值是
<input type='text' id='txt' />
<input type='button' value='调用父窗口的方法' οnclick='window.dialogArguments.method();' />
<br><br><br>
设置父窗口的文本<input type='text' id='t' />
<input type='button' value='执行'
οnclick='window.dialogArguments.document.getElementById("txtID").value=document.getElementById("t").value;' />
<br><br>
<input type='button' value='刷新父窗口' οnclick='window.dialogArguments.location=window.dialogArguments.location;' />
<br><br>
<input type='button' value='关闭父窗口' οnclick='window.dialogArguments.close();' />
</body></html>
--------------------------------------------------------------------------------
window.opener.location.reload();
window.opener=null;
window.open("","_self");
window.close();
--------------------------------------------------------------------------------
刷新父窗口 js:window.opener.location=window.opener.location;
关闭子页面 window.close();
关闭父页面 window.opener.close();