不管是System还是WEBSITE,不管是数据的增加还是修改都涉及到表单的提交。但是由于宽带的限制,对于页面数据的提交,页面的数据处理总是需要一定的时间。导致有一部分的用户,会重复点击提交按钮。要是不进行特殊的处理的话,会导致相同数据。当然这是我们不想看到的事情。也不是客户想要的。

所以我们不应该let 这事情发生。
方法我觉得应该分为两种:

1.我们可以在服务器端处理这些重复数据,而且这部分处理会增加服务器负担,呵呵,这部分不是我这篇文章讨论的重点。

2.客户端处理:
当然我们应该是用JAVASCRIPT来处理
其实试想一下,不管是用户一次提交,两次提交,N次提交,都是在同一个页面里。因此都是由同一个程序来处理的。
所以我们可以用一个全局变量来处理

<script language='javascript'>
  
var submit=0;
</script>

这个变量会一直在这个页面里。
所以来说我们可以let按钮提交一次,let此变量增加1,这样的话就可以计算出来用户到底提交了几次了,剩下的事情我们就好办了。
要是大于1的话,我们就可以禁止他的提交。

<script language='javascript'>
    
var submit=0;
    
function CheckIsRepeat()
    
{
        
if (++submit>1)
        
{
            alert('An attempt was made to submit 
this form more than once; this extra attempt will be ignored.');
            
return false;
        }

        
return true;
    }

</script>

测试CODE:

<!---
    http:
//endisoft.cnblogs.com
    Power by Endision 2007/4/10

-->
    
<form action="http://www.xg012.com">
<input type="submit" name="btnSubmit" value="Submit" onclick="javascript:CheckIsRepeat();" language="javascript" id="btnSubmit" class="btn" />
</form>
<script language='javascript'>
    
var submit=0;
    
function CheckIsRepeat()
    
{
        
if (++submit>1)
        
{
            alert('An attempt was made to submit 
this form more than once; this extra attempt will be ignored.');
            
return false;
        }

        
return true;
    }

</script>


/Files/endisoft/Blog.rar 

 

posted on 2007-04-10 20:42  endision  阅读(3547)  评论(0编辑  收藏  举报