A-A+
	一款js发送验证码计时器
要做一款手机注册时发送验证码的计时器,也就是点击一次发送按钮,然后按钮变灰成不可点击的状态,等到指定(60秒)之后才可以再次点击,这样有效的防止了用户一直点击而产生错误,首先想到的自然就是 js 了,研究了一下午的时候,不过这个 js 和之前页面的无法整合,之前的所有注册全是 jquery,所以这个也就没用了,不过效果看起来还不错,所以先收藏起来吧,也是从网上找的,只可惜了没有 jquery 的即时返回数据的功能,也就是无法从数据库中直接读取数据直接返回,有些可惜了。
- <input type="button" style="height:32px;width:120px;" value="点击发送验证码" onclick="sendCode(this)" />
 - <script type="text/javascript">
 - var clock = '';
 - var nums = 10;
 - var btn;
 - function sendCode(thisBtn)
 - {
 - //if(!document.getElementById("phone").value){
 - //return false;
 - //}
 - //if (document.getElementById("phone").value.replace(/(^(\d{3,4}-)?\d{7,8})$|(13[0-9]{9})|(15[0-9]{9})/g, "") == document.getElementById("phone").value){ xiariboke.net
 - //return (false);
 - //}
 - btn = thisBtn;
 - btn.disabled = true; //将按钮置为不可点击
 - //btn.style="background:red"; //背景颜色
 - btn.value = nums+'秒后重新获取';
 - clock = setInterval(doLoop, 1000); //一秒执行一次
 - }
 - function doLoop()
 - {
 - nums--;
 - if(nums > 0){
 - btn.value = nums+'秒后重新发送';
 - btn.style="background:#D7D7D7"; //背景颜色
 - }else{
 - clearInterval(clock); //清除js定时器
 - btn.style="background:#5DC9E6"; //背景颜色
 - btn.disabled = false;
 - btn.value = '获取验证码';
 - nums = 10; //重置时间
 - }
 - }
 - </script>
 
至于效果的话可以自己在html里面运行,不过这里建议还是使用 jquery 比较好,比较 jquery 代码量少,而且兼容性还好。