防止重复提交表单

Web表单的一个很大问题就是用户在提交表单的时候会很不耐烦。如果点击提交按钮后,表单没有立即消失(或因网速过慢,没有立即跳转到表单处理页面),用户通常会点好多次提交按钮。于是就产生了一个问题,会造成多次重复的请求,更为糟糕的情况是,可能会多次从你的信用卡里扣钱。

如何解决这个问题呢?解决方法十分简单:当用户第一次点击了提交按钮后,立马将其禁用,当用户想再次点击是,用于提交按钮被禁用而变成灰色,自然也就不能进行第二次的重复提交表单。

实现方法:

对于一个普通的表单提交按钮,其html代码为:

 
 
  1. <input type="submit" value="提交表单" /> 

将其替换成以下代码:

 
 
  1. <input type="submit" value="提交表单" 
  2.        onclick="this.disabled=true;this.form.submit()" />  

当用户点击提交按钮时,会做两件事情:

1、this.disabled=true,即将disabled特效设为true来禁用这个按钮;

2、this.form.submit(),提交表单

执行这两件事情是有先后顺序的,先执行第一步,然后执行第二步。

为了使用更为方便,还可以将上述代码封装成一个函数,使用如下:

 
 
  1. <script type="text/javascript"> 
  2. function myform(object) {  
  3.     object.disabled = true;  
  4.     object.form.submit();  
  5. }  
  6. </script> 
  7.  
  8. <input type="submit" value="提交表单" onclick="myform(this)" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值