再问一个窗口问题,超级难题。

零基础学编程by学哥 IT总监  2001-08-22 09:34:21
窗口A的按钮打开窗口B,然后窗口B的按钮打开窗口C,然后窗口C的按钮打开窗口D.
如果关闭了窗口A,必须立即关闭窗口B,C,D.
如果关闭了窗口B,必须立即关闭窗口C,D.
如果关闭了窗口C,必须立即关闭窗口D.
或者达到如下:
如果D没有关闭,则不能关闭A,B,C.
如果C没有关闭,则不能关闭A,B.
如果B没有关闭,则不能关闭A.

请问用模式窗口能够实现吗?
如果不能,能否实现?用什么方法?多谢!
...全文
93 点赞 收藏 11
写回复
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
非常感谢,再问一个小问题:能否做到A弹出B后,就只能在B上做工作,不能切换到A窗口,如果B再弹出C,就只能在C上做工作,不能切换到A,B窗口???
用模式窗口好像不行,请高手指点。
回复
非常感谢,再问一个小问题:能否做到A弹出B后,就只能在B上做工作,不能切换到A窗口,如果B再弹出C,就只能在B上做工作,不能切换到A,B窗口???
用模式窗口好像不行,请高手指点。
回复
busibird 2001-08-22
在A,B,C,D四个页面中分别加入如下代码即可:
注意:窗口名必须不同
<script>
var win=window.open("about:blank",窗口名)//窗口名必须不同
function unload(){
win.close()
}
window.onunload=unload;
</script>
回复
maolian 2001-08-22
可以解决,办法是:
首先在A中要定义一个Array,要保存A,B,C,D四个窗口的对象
在A中创建B,此时B的window对象可以得到的,保存起来
在B中创建C, B中能得到C的window对象,通过调用A中的函数,可以保存C的窗口
类似上。。。

关闭某一窗口时候,通过对Array对象的搜索控制,可以打到效果的。
回复
jincoo 2001-08-22
其中的一个方法,可以使用一般的window模拟模式对话框

如果还有问题,欢迎到http://www.ruted.com/forum?forumid=1来问:)
回复
请问有什么办法吗?
回复
jincoo 2001-08-22
由于模式窗口的限制,他不能成为一个window的target。

上面的问题需要另外想办法。
回复
不好意思,还有一点问题:
我的B窗口是jsp文件,有另外一按钮需要刷新该B窗口,但是点这个按钮,却去另外开了一个新窗口显示刷新后的B窗口了。请看代码:

aaa.html

<!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>
function gobbb(){
var win=window.showModalDialog("bbb.jsp","BBB");
}
</script>
</HEAD>

<BODY>
AAAAAAAAAAAAAA<br><br>
<input type=button name=aaa value="AAA" onclick="gobbb()">
</BODY>
</HTML>



bbb.jsp

<HTML>
<HEAD>
<TITLE> BBBBBBBBB </TITLE>
<script>
function goccc(){
var win=window.showModalDialog("ccc.jsp","CCC");
}
function gocccoo(){
document.form1.action="bbb.jsp";
document.form1.target="BBB";
document.form1.method="post";
document.form1.submit();
}
</script>
</HEAD>
<BODY>
BBBBBBBBBBB<br><br>
<input type=button name=bbb value="BBB" onclick="goccc()">
<form action="" method=post name=form1>
<input type=submit name="111" value="oo" onclick="gocccoo()">
</form>
<%
if (request.getParameter("111")!=null)
{
out.print("The BBBBBBB Next!<br>");
}
else
{
out.print("The BBBBBBB First!<br>");
}
%>
</BODY>
</HTML>
回复
可以了,谢谢!!!
回复
不行啊,A弹出B是模式窗口,但是B就不能弹出C来了,还是在B窗口中刷新成C.
回复
sor 2001-08-22
在a.htm里
window.showModalDialog("b.htm");
在b.htm里
window.showModalDialog("c.htm");
在c.htm里
window.showModalDialog("d.htm");
回复
发动态
发帖子
JavaScript
创建于2007-09-28

8.4w+

社区成员

Web 开发 JavaScript
申请成为版主
社区公告
暂无公告