script language="javascript">    
    var checkSubmitFlg = false;    
    function checkSubmit() {    
      if (checkSubmitFlg == true) {    
         return false;    
      }    
      checkSubmitFlg = true;    
      return true;    
   }    
   document.ondblclick = function docondblclick() {    
    window.event.returnValue = false;    
   }    
   document.onclick = function doconclick() {    
       if (checkSubmitFlg) {    
         window.event.returnValue = false;    
       }    
   }    
</script>   form id="ff" name="ff" method="post" action="dim_dimadd.action"  onsubmit="return checkSubmit();">
我想做防止重复提交,怎么没有用呀,错在哪里呀,还有,哪位帮我解释一下呀

解决方案 »

  1.   

    这样是不行的!你去google一下关于防止重复提交记录的解决方案
      

  2.   

    方法一:用cookie;
    方法二:提交按钮变灰不可用;
    方法三:在数据库中查询,重复提交提示失败;
    方法四:服务器不再接受第二次请求。
      

  3.   

    按一次提交后 把提交按扭 设成 disabled
      

  4.   


       document.ondblclick = function docondblclick() {    
        window.event.returnValue = false;    
       }    
       document.onclick = function doconclick() {    
           if (checkSubmitFlg) {    
             window.event.returnValue = false;    
           }    
       }    和这些代码有关系吗?另外请把你的问题描述清楚,例如:是否第二次点击按钮仍然return了true?你可以在checkSubmit方法的第一行alert(checkSubmitFlg)看看这个flag到底是什么
      

  5.   

    google吧,我说不清楚,还是google的比较明了
      

  6.   

    如果刷新了还要防止重复提交   考虑用cookie如果就是为了防止重复提交  可以使按钮disable
      

  7.   

    一种方式是加验证码的形式来防止重复提交,一种是用redirect转向。
      

  8.   

    oh My God~
    你先试试上面所说的,上面有很多都是正确的。
      

  9.   

    click 和dbclick二个事件是不可以一起用的,要分开哦
      

  10.   

    <%
    '保存数据结束
    response.write("<script type='text/javascript'>location.replace('表单.asp');</script>")
    %>