一个关闭的问题

zls0303 2002-04-17 03:57:07
我在用JSP开发一个人事管理,是基于WEB的,这个软件的主架构是用一个框架网页。
 问题:如何实现,在主框架上点击关闭按钮,弹出对话框,确定用户是否关闭,如果用户选择是,就关闭这个页面,在关闭的时候,判断用户输入的数据是否保存,如果没有保存,就提示用户保存数据,如果用户不保存数据,就关闭这个软件,如果用PB开发c/s软件很好实现,在WEB中开发如何实现了????
...全文
24 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
mosane 2002-04-21
  • 打赏
  • 举报
回复
用“onunload”的话选择“否”页面还是会关掉的,

可用“beforeunload”,大概是吧,不太记得了。
Andrawu 2002-04-20
  • 打赏
  • 举报
回复
to: tarzan(呔) ,你说得很对,我当时没有注意这些,谢谢你提出的这些
意见。
对于REFRESH问题。把<body onunload="winclose();">
加到我的第一封帖好象就可以了,不知对不对。
对于IE的关闭按钮,在关闭之前它会提示你是否保存你修改过的内容。
对于下面的修改肯定是还有问题的,tarzan(呔) 你还什么好的方法吗?
如果有请加帖。
<body onunload="winclose();">
<form name="f1">
<input type=hidden name="tb_editMode" value="NONE">
<input type=text value="1234" name="param1" size="12" onchange="f1.tb_editMode.value='INPROCESS'"><br>
<input type=text value="2345" name="param2" size="12" onchange="f1.tb_editMode.value='INPROCESS'"><br>
<input type=button name="tb_close" value="保存" onclick="dosave() ;">
<input type=button name="tb_close" value="关闭" onclick="winclose() ;">
</form>
</body>
<script language="javascript">
function winclose(){
if (f1.tb_editMode.value=="INPROCESS")
if(confirm("是否保存")){
dosave() ;
f1.tb_editMode.value="NONE" ;
}
else
f1.tb_editMode.value="NONE"
}

function dosave(){
alert("执行保存!") ;
}
</script>
zls0303 2002-04-19
  • 打赏
  • 举报
回复
有意思不错,去看一看啊
tarzan 2002-04-18
  • 打赏
  • 举报
回复
写到这里,突然想起一个例子:TENCENT自己的浏览器!因为每次打开后如果要关闭它,总会出现讨厌的“是否要关闭”的提示,所以印象比较深,大家可以去参考一下它的源代码。
tarzan 2002-04-18
  • 打赏
  • 举报
回复
我试了一下,发现都有缺陷:
weidegong(weidegong)的例子中,如果直接点IE的关闭按钮,窗口会立即关闭,并且没有任何提示;
Andrawu(Andrawu)的例子更好玩,我REFRESH一下都会出现是否要退出的提示,真够热情的:)而且如果我点IE的关闭按钮,虽然可以出现“是否要退出”的提示,但是窗口已经关闭了,我点“否”它可以回来吗?
zls0303 2002-04-18
  • 打赏
  • 举报
回复
谢谢大家啊!!
Andrawu 2002-04-18
  • 打赏
  • 举报
回复
<BODY BGCOLOR="#FFFFFF" onunload="winclose();">
<form name="f1">
<input type=hidden name="tb_editMode" value="NONE">
<input type=text value="1234" name="param1" size="12" onchange="f1.tb_editMode.value='INPROCESS'"><br>
<input type=text value="2345" name="param2" size="12" onchange="f1.tb_editMode.value='INPROCESS'"><br>
<input type=button name="tb_close" value="保存" onclick="dosave() ;">
<input type=button name="tb_close" value="关闭" onclick="winclose() ;">
</form>
<script language="javascript">
function winclose(){
if (f1.tb_editMode.value=="INPROCESS"){
if(confirm("是否保存")){
dosave() ;
window.close();
} else {
window.close();
}
}else{
if(confirm("你要确定要退出?")) window.close();
else return;
}

}

function dosave(){
alert("执行保存!") ;
f1.tb_editMode.value="NONE" ;
}

</script>

在<body>中加onunload="winclose();" 在直接关闭窗口时也会提示
要不要保存。会更好吧。
weidegong 2002-04-17
  • 打赏
  • 举报
回复
试试这个,较为全面了

<form name="f1">
<input type=hidden name="tb_editMode" value="NONE">
<input type=text value="1234" name="param1" size="12" onchange="f1.tb_editMode.value='INPROCESS'"><br>
<input type=text value="2345" name="param2" size="12" onchange="f1.tb_editMode.value='INPROCESS'"><br>
<input type=button name="tb_close" value="保存" onclick="dosave() ;">
<input type=button name="tb_close" value="关闭" onclick="winclose() ;">
</form>
<script language="javascript">
function winclose(){
if (f1.tb_editMode.value=="INPROCESS"){
if(confirm("是否保存")){
dosave() ;
window.close();
} else {
window.close();
}
}else{
if(confirm("你要确定要退出?")) window.close();
else return;
}

}

function dosave(){
alert("执行保存!") ;
f1.tb_editMode.value="NONE" ;
}
</script>
Andrawu 2002-04-17
  • 打赏
  • 举报
回复
<form name="f1">
<input type=hidden name="tb_editMode" value="NONE">
<input type=text value="1234" name="param1" size="12" onchange="f1.tb_editMode.value='INPROCESS'"><br>
<input type=text value="2345" name="param2" size="12" onchange="f1.tb_editMode.value='INPROCESS'"><br>
<input type=button name="tb_close" value="关闭" onclick="winclose() ;">
</form>
<script language="javascript">
function winclose(){
if (f1.tb_editMode.value=="INPROCESS")
if(confirm("是否保存")){
dosave() ;
f1.tb_editMode.value="NONE" ;
}
else
f1.tb_editMode.value="NONE"
}

function dosave(){
alert("执行保存!") ;
}
</script>
只有在修改后,关闭时才提示是否保存。
chensh1024 2002-04-17
  • 打赏
  • 举报
回复
window.close();最好用top.close();
fokker 2002-04-17
  • 打赏
  • 举报
回复
是说我的吗?你想怎样清楚?
zls0303 2002-04-17
  • 打赏
  • 举报
回复
能不能写清楚啊!!
fokker 2002-04-17
  • 打赏
  • 举报
回复
用javascript,在关闭按钮的事件中写:
if(confirm("是否关闭")){
if(没有保存){
if(confirm("是否保存"){
保存;
}
}
window.close();
}
wizz 2002-04-17
  • 打赏
  • 举报
回复
保存的时候设置一个变量作标志,

关闭时,判断改变量的值就行了。

<SCRIPT LANGUAGE="JavaScript">
<!--
//submited = false;
if (submited)
window.close()
else
if(confirm("save it?")) savedata();
else window.close();
//-->
</SCRIPT>

87,904

社区成员

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

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