求助:模态对话框的关闭问题!
模态对话框是调用showModalDialog弹出的,现想禁掉对话框右上角的关闭按钮(即x),苦想半天,未果,还请大虾赐教!*@_@*
PS.或其他能达到同样效果的方法也可。
问题点数:20、回复次数:3Top
1 楼eeree(卡龙)回复于 2005-04-04 21:31:22 得分 0
怎么没人帮我呢?
我模拟了一下,
这个是打开对话框的页面:
<HTML>
<HEAD>
<META http-equiv="content-type" content="text/html; charset=EUC-JP">
<TITLE>PopWindow</TITLE>
</HEAD>
<SCRIPT>
url="./passwd.html";
window.showModalDialog(url,self, "dialogHeight:165px;dialogWidth:350px;scrollbars:0;status:0;help:0;edge:sunken;");
</SCRIPT>
<BODY>
</BODY>
</HTML>
这个就是对话框页面:
<HTML>
<HEAD>
<META http-equiv="content-type" content="text/html; charset=EUC-JP">
<TITLE>Conversation</TITLE>
</HEAD>
<script>
function noClose() {
var Location=window.location.href;
// var truthBeTold = window.confirm("Can't close");
//if(!truthBeTold){
//window.showModalDialog(Location,self, "dialogHeight:165px;dialogWidth:350px;scrollbars:0;status:0;help:0;edge:sunken");
//window.close;
// }
}
</script>
<body onBeforeUnload="noClose()">
<CENTER>
<FORM name="PasswordForm">
<TABLE BORDER="0" width="340">
<TR valign="top">
<TD align="center" valigh="center">
<INPUT type="button" name="execute" value="实行" CLASS="button" onclick="check()">
</TR>
</TABLE>
</FORM>
</CENTER>
</BODY>
</HTML>
我考虑了用onBeforeUnload事件,想在对话框关闭后再弹出一个同样的,但是结果是前一个都没关掉!
或者可以捕捉window.close事件?甚至覆盖它?
大虾们快救命啊!Top
2 楼faisun(暖阳)回复于 2005-04-05 01:45:54 得分 20
showModalDialog 是可以有返回值的.
在你可以做一个按钮,点击按钮时返回一个值,如下:
onclick="window.returnValue=1;window.close()"
当然如果用户是点 X 关闭了返回值就为 null 啦.
然后在父窗口,判断返回值,如果不为1,重新弹出该对话框.
给个返回值的例子:
test4.htm
===================
<script>
var a = window.showModalDialog("test5.htm")
for(i=0;i<a.length;i++) alert(a[i])
</script>
test5.htm
===================
<script>
function sendTo()
{
var a=new Array("a","b")
window.returnValue = a
window.close()
}
</script>
<body>
<form>
<input value="返回" type=button onclick="sendTo()">
</form>
Top
3 楼eeree(卡龙)回复于 2005-04-05 10:17:41 得分 0
谢谢上面这位朋友了,20分送上!
基本上达到了禁止关闭的效果,就看客户能不能接受了~
Top




