那你可以在用户想退出时提示<body onbeforeunload="return '还没有保存数据'">

解决方案 »

  1.   

    我的两个文件,希望对你有帮助:
    //index.html
    //---------------------------------------------------------------
    <html><head>
    <meta http-equiv="Content-Language" content="zh-cn">
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>aa</title>
    </head><body>
    <center>
    <table border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" style="border-collapse: collapse">
      <tr>
        <td width="100%" align="center">
    <a href="#" onclick="JavaScript:ToLogin();return false;">
            <img border="0" src="images/Office.gif" width="640" height="480"></a>
    </td>
      </tr>
    </table>
    </center><form name="frmLogin" method="post" action="dologin.php">
    <input type="hidden" name="UserSID" value="">
    <input type="hidden" name="UserPWD" value="">
    </form><Script Language="JavaScript">
    <!--var MyClient=new Object();
    MyClient.UserSID = "guest";
    MyClient.UserPWD = "guest";function ToLogin()
    {
    var sOption = 'dialogHeight:180px; dialogWidth: 320px; scroll: no; status: no;'; if(window.showModalDialog("login.htm", MyClient, sOption)) {
    //alert(MyClient.UserSID);
    //登录系统
    document.all.UserSID.value = MyClient.UserSID;
    document.all.UserPWD.value = MyClient.UserPWD; alert(document.all.UserSID.value);
    document.all.frmLogin.submit();
    } else {
    //退出系统
    //关闭窗口
    //window.parent=null;
    window.opener=null;
    window.close();
    }
    }//-->
    </Script>
    <SCRIPT FOR=window EVENT=onload LANGUAGE="JavaScript">
    window.setTimeout("ToLogin();", 500);
    </SCRIPT>
    <p> </p>
    </body></html>
    //---------------------------------------------------------login.htm
    //--------------------------------------------------------
    <html><head>
    <meta http-equiv="Content-Language" content="zh-cn">
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>登录系统</title>
    </head><body bgcolor="#D4D0C8">
    <form name="frmLogin">
    <table border="0" width="100%" cellspacing="0" height="90">
      <tr>
        <td width="100%" height="16" style="font-size: 24px; font-family: 楷体_GB2312">
        <p align="center">登录信息</td>
      </tr>
      <tr>
        <td width="100%" height="16" style="font-size: 14px"><hr color="#003366" size="1"></td>
      </tr>
      <tr>
        <td width="100%" height="16" align="center" style="font-size: 14px">
        <table border="0" cellpadding="2">
          <tr>
            <td nowrap style="font-size: 14px">用户名:</td>
            <td nowrap style="font-size: 14px">
            <input type="text" name="UserSID" size="8" style="height: 18;border-style: solid; border-width: 1; padding: 0; ime-mode: disabled"></td>
          </tr>
          <tr>
            <td nowrap style="font-size: 14px">口&nbsp;&nbsp;令:</td>
            <td nowrap style="font-size: 14px">  
            <input type="password" name="UserPWD" size="8" style="height: 18;border-style: solid; border-width: 1; padding: 0"></td>
          </tr>
        </table>
        </td>
      </tr>
      <tr>
        <td width="100%" height="16" style="font-size: 14px"><hr color="#003366" size="1"></td>
      </tr>
      <tr>
        <td width="100%" height="16" style="font-size: 14px">
        <p align="right">
        <input type="button" value="确 定" name="btnOk" style="width: 64; height: 18; border-style: solid; border-width: 1; padding: 0" onclick="JavaScript:btnOkOnClick();">
        <input type="button" value="取 消" name="btnCancel" style="width: 64; height: 18; border-style: solid; border-width: 1; padding: 0" onclick="JavaScript:btnCancelOnClick();">&nbsp;&nbsp;</td>
      </tr>
      <tr>
        <td width="100%" height="16" style="font-size: 14px" colspan="2"></td>
      </tr>
    </table>
    </form>
    <Script Language="JavaScript">
    <!--
    function btnOkOnClick()
    {
    if(document.all.UserSID.value.length>=0) {
    if(window.dialogArguments) {
    window.dialogArguments.UserSID = document.all.UserSID.value;
    window.dialogArguments.UserPWD = document.all.UserPWD.value;

    window.returnValue = true;
    } else {
    window.returnValue = false;
    } if(!window.dialogArguments) {
    window.opener=null;
    }
    window.close();
    } else {
    window.alert('用户名未指定!');
    document.all.UserSID.focus();
    }
    }function btnCancelOnClick()
    {
    if(!window.dialogArguments) {
    window.opener=null;
    }
    window.close();
    }
    //-->
    </Script>
    <SCRIPT FOR=window EVENT=onload LANGUAGE="JavaScript">
    if(window.dialogArguments) {
    frmLogin.UserSID.value = window.dialogArguments.UserSID;
    frmLogin.UserPWD.value = window.dialogArguments.UserPWD;
    } window.returnValue = false;
    </SCRIPT></body></html>
      

  2.   

    to:骆驼
    但是还是有个对话框,我就是不想要这个对话框 to:dtdn(呆头呆脑) 
    这个代码正好反了,我要的是关闭不了,也不出现关闭对话框
      

  3.   

    要想关闭不了,不大可能,因为那会看文章见说IE6中好像有时不能
    触发onunload时间。我的解决方案是,保存数据库等实际的操作交给如上的index.htm
    ,而界面的输入等交给login.htm。index中根据login.htm的
    window.returnValue决定是什么操作(比如保存数据)。我的例子就是login.htm中输入用户信息,而真正的提交是返回后
    index.htm来真正提交的。如果你关闭了login.htm,我是直接退出,
    你可以Post到另外的网页不就可以了么?