简单,按确定按钮的那个函数里设一个全局变量值即可.
<script>
var swith=false;
function aa(){
swith=true;
window.close();
}
</script>
<input type=button onclick="aa">

解决方案 »

  1.   

    然后把你那段
          if(点击了"确定"){
           //调用函数 submit_it();
            }    
    换成
          if(swith){
           //调用函数 submit_it();
          }
    不过记得,swith是个关键字,你要用的话,最换个变量名.
      

  2.   

    同意  tianzhou0374(tianzhou0374)
      

  3.   

    昏倒,你的提示框上不是有否吗?用的是confirm吗?confirm有返回值啊.用返回值你看一下行不行.你这个提示框怎么出来的
      

  4.   

    提示框是这句话弹出的
    window.event.returnValue="点击 '确定' 将提交答卷并关闭本窗口,点击 '取消' 将返回窗口继续答题!请选择!";用confirm不管点"是" 还是点"否"都会退出的.
      

  5.   

    你在每次window.onbeforeunload()时只检测他是否提交过,如果没有则提交.
    如果他点了取消,无所谓,他迟早要提交的.再提交时将上次提交的覆盖了即可.你试试.
      

  6.   

    提交的时候将 页面内放一个高度与宽度都为0的iframe,将<form>的target指到这个iframe中,这样就不会刷新页面了.最好在提交时设置一个setTimeOut,设上200毫秒就可以了。只要他点取消,就将刚在window.onbeforeunload()中提交的内容作废,这样就是麻烦些,能实现你要的效果.
      

  7.   

    先结贴了,另开新贴接着问,感觉如果能不改代码搞定的话,会方便许多也能学到新东西.新贴子地址:
    http://community.csdn.net/Expert/topic/3097/3097179.xml?temp=.4496118