子窗口刷新父窗口的问题!

rhj_2001 2003-08-20 11:41:07
子窗口上的按纽,点击一下,(处理一些数据),然后把自己刷新一下,同时也去刷新父窗口。这样的方式要操作多次。

现在的问题是:
在父窗口上做操作,弹出子窗口,再在子窗口上的按纽,点击一下,是可以去刷新自己和父窗口。但第二次就不行了,无论我怎么点击按纽,只能刷新自己,而不能刷新父窗口。我觉得问题可能是,因为子窗口刷新了自己,就失去了该窗口和父窗口的联系,所以就不能刷新父窗口了。
...全文
68 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ashes 2003-08-21
  • 打赏
  • 举报
回复
my examples:

<!--RefreshFather.htm-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
function refresh() {
alert("refresh father");
}
//-->
</SCRIPT>
</HEAD>

<BODY onLoad="refresh()">
I am father window
<form name="form1">
<input type="button" name="btnOpen" value="OpenWindow" onClick="window.open('RefreshSon.htm', 'windowSon')">
</form>
</BODY>
</HTML>


<!--RefreshSon.htm-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<form name="formSon" method="post" action="submit.htm">
<input type="submit" name="btnSubmit" value="Submit">
</form>
</BODY>
</HTML>


<!--submit.htm-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
function refresh() {
alert("refresh son");
opener.location.href = "RefreshFather.htm?" + Math.random();
window.location.href = "RefreshSon.htm?" + Math.random();
}
//-->
</Script>
</HEAD>

<BODY onLoad="refresh()">

</BODY>
</HTML>
可以多次刷新
认为楼主的submit.jsp
<body onload=...window.opener.parent.location.reload('父窗口.jsp">;
既然要刷新opener.parent
不如在打开窗口时用window.parent.open()
在submit.jsp
<body onload=...window.opener.location.reload('父窗口.jsp">;
teafang 2003-08-21
  • 打赏
  • 举报
回复
子窗口 onload事件window.opener.location.reload();
rhj_2001 2003-08-21
  • 打赏
  • 举报
回复
没人回答?
rhj_2001 2003-08-21
  • 打赏
  • 举报
回复
是这样处理的。子窗口所在的jsp页面递交给一个submit.jsp页面,这个submit.jsp在一旦onload,就用执行<body onload="alert("刷新");window.opener.parent.location.reload('父窗口.jsp">;window.location.reload("子窗口.jsp");>,就是说同时去刷新子窗口和父窗口。

问题是这样的。第一次子窗口提交的时候,正常的。两张全都会被刷新。但以后,就不行了。连用来监控的alert("刷新")语句都不会被打印出来。似乎submit.jsp执行一次后,就没有再被执行了!
transist 2003-08-21
  • 打赏
  • 举报
回复
如果用opener.document.location.href="父窗口文件名";
语句刷新父窗口,最好加上随机参数,保证能强制刷新,这个问题我也碰到过,就是用这个方法解决的

<%Random random=new Random;%>
opener.document.location.href="父窗口文件名?random=<%=random.nextLong()%>";
cxhz_cn 2003-08-21
  • 打赏
  • 举报
回复
hehe~~是JScript吗?

你要先刷新子窗口,再去刷新父窗口?

那么

再子窗口里面的函数
opener.document.location.href="父窗口文件名";
document.location.href="子窗口文件名";

必须按这个顺序
有的父窗口不能刷新,有两个办法,一个再
opener.document.location.href="父窗口文件名?"+随机参数

或则设定父窗口为No cache


Try it ,that's OK~~ good lucky
hfprogramer 2003-08-21
  • 打赏
  • 举报
回复
好象不是吧,应该可以的吧。不知道你的代码是如何写的,是不是有其他原因呢?

http://expert.csdn.net/Expert/topic/2149/2149225.xml?temp=.9376337

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧