function a()
{
$("#warnFlag").val(1);
}// 提示需要保存内容
window.onbeforeunload = function CloseIt(e) {
var evt = e ? e : (window.event ? window.event : null);
if (document.getElementById("warnFlag") != null) {
if (document.getElementById("warnFlag").value == "1") {
evt.returnValue = '此操作会导致正在填写的未保存的内容丢失。\n如需要看其它页面,请右击该链接以新窗口查看。\n你是否继续?继续已填写未保存的内容将丢失!';
}
}
}
<input type="button"   value="填写" onclick="a()"/>
<input type="hidden" name="warnFlag" id="warnFlag"  value=""/>
这个一个离开的时候提示保存的写法...如果弹出填写框就让提示起作用..但是在FF和IE下都正常,在谷歌浏览器里失效。。请教如何解决

解决方案 »

  1.   

    不用设置时间的returnValue,直接return返回需要的信息即可// 提示需要保存内容
    window.onbeforeunload = function CloseIt(e) {
        var evt = e ? e : (window.event ? window.event : null);
        if (document.getElementById("warnFlag") != null) {
            if (document.getElementById("warnFlag").value == "1") {
    return '此操作会导致正在填写的未保存的内容丢失。\n如需要看其它页面,请右击该链接以新窗口查看。\n你是否继续?继续已填写未保存的内容将丢失!';
            }
        }
    }
      

  2.   

    不知道楼主版本版本是多少,我的是7.0.715,但输入框值为1时,在离开里面时会提示<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript">
    function a()
    {
    document.getElementById("warnFlag").value=1;
    }// 提示需要保存内容
    window.onbeforeunload = function () {
        if (document.getElementById("warnFlag") != null) {
            if (document.getElementById("warnFlag").value == "1") {
    return '此操作会导致正在填写的未保存的内容丢失。\n如需要看其它页面,请右击该链接以新窗口查看。\n你是否继续?继续已填写未保存的内容将丢失!';
            }
        }
    }
    </script>   
    <style type="text/css">
    body,html{width:100%; height:100%;}
    </style>
    </head><body>
    <input type="button"   value="填写" onclick="a()"/>
    <input type="text" name="warnFlag" id="warnFlag"  value=""/>
    </body>
    </html>
      

  3.   

    终于弄明白了,谷歌对onbeforeunload的支持有bug.....在框架下会完全失效...他只认最外层页面,即使用JQuery也无法得到return值。。分还是给你了