保存的时候设置一个变量作标志,关闭时,判断改变量的值就行了。<SCRIPT LANGUAGE="JavaScript">
<!--
//submited = false;
if (submited)
window.close()
else
if(confirm("save it?")) savedata();
else window.close();
//-->
</SCRIPT>
<!--
//submited = false;
if (submited)
window.close()
else
if(confirm("save it?")) savedata();
else window.close();
//-->
</SCRIPT>
if(confirm("是否关闭")){
if(没有保存){
if(confirm("是否保存"){
保存;
}
}
window.close();
}
<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>
只有在修改后,关闭时才提示是否保存。
<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>
<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(weidegong)的例子中,如果直接点IE的关闭按钮,窗口会立即关闭,并且没有任何提示;
Andrawu(Andrawu)的例子更好玩,我REFRESH一下都会出现是否要退出的提示,真够热情的:)而且如果我点IE的关闭按钮,虽然可以出现“是否要退出”的提示,但是窗口已经关闭了,我点“否”它可以回来吗?
意见。
对于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>