日期:2014-05-16  浏览次数:20347 次

关于JS实现未保存提示
要实现在用户没有保存的情况下,弹出提示,点击“保存”后,无提示。
问题是:使用onbeforeunload实现的时候,在为保存关闭的时候弹出正确提示,但是在点击保存的时候,也会弹出未保存提示。追其原因,发现其点击保存的时候,会调用原有js脚本,产生提交form的动作。
想问的是:在不修改原有js的情况下,如何实现未保存提示,而点击保存的时候不出现提示呢?请高人指教!

------解决方案--------------------
<script>
var isSaved = false
function f()
{
if(!isSaved)
{
alert( "没有保存 ")
return false;
}
}
</script>
<body onbeforeunload= "return f() ">
<form>
<input type=submit onclick= "isSaved=true ">

</form>
------解决方案--------------------
前面那个不对。
<body onbeforeunload= "return f() ">
<form>
<input type=text>
<input type=checkbox>
<input type=submit>

</form>
<script>
var isSaved = true;
var input = document.getElementsByTagName( "INPUT ");
for(var i=0;i <input.length; i++){
input[i].attachEvent( "onchange ", func);
}
function func(){
isSaved = false
}
function f()
{
if(!isSaved)
{
alert( "没有保存 ")
return false;
}
}
</script>