在实际业务过程中,经常会碰到点击一个按钮ajax提交表单,如果不加以控制按钮一点可点击,导致ajax重复提交,最终业务上的重复和资源上的浪费
可以用两种方式来加以控制
- ajax beforeSend里将button禁用,complete将button恢复可用
- 一段时间内button禁用,之后恢复可用
这里使用第二种方式结合一个发送验证码的例子写了一个插件,点击按钮后ajax调用后台发送验证码,按钮60秒禁用,不可以再次获取验证码,并在button上显示倒计时
|
|
调用方式:
- $(el).timer();
- $(el).timer({second: 30, afterEnd: function(){alert(‘计时结束了’);}});
表单默认是这样的:
点击获取验证码后,点击按钮后ajax调用后台发送验证码,按钮60秒禁用,并在button上显示倒计时,倒计时结束后恢复默认