Js实现手机发送验证码时按钮延迟操作

 更新时间:2014年06月20日 11:43:09   投稿:hebedich  
在做项目的时候,经常遇到发短信验证码的问题,这时候需要用户点完发送验证码按钮后,一段时间内不能重复点击,毕竟验证码都是收费的嘛,谁都不想浪费,那么如何实现这种功能呢?下面来分享一下。

实例代码记录:

<script type="text/javascript">
  function start_sms_button(obj){
    var count = 1 ;
    var sum = 30;
    var i = setInterval(function(){
      if(count > 10){
        obj.attr('disabled',false);
        obj.val('发送验证码');
        clearInterval(i);
      }else{
        obj.val('剩余'+parseInt(sum - count)+'秒');
      }
      count++;
    },1000);
  }
 
  $(function(){
    //发送验证码
    $('#send_sms').click(function(){
      var phone_obj = $('input[name="phone"]');
      var send_obj = $('input#send_sms');
      var val = phone_obj.val();
      if(val){
        if(IsMobile(val)){
          send_obj.attr('disabled',"disabled");
          //30秒后重新启动发送按钮
          start_sms_button(send_obj);
          $.ajax({
            url:'{#url_reset("index/sms")#}',
            data:{'mobile':val},
            dataType:'json',
            type:'post',
            beforeSend:function(){
              show_loading_body();
            },
            complete:function(){
              show_loading_body();
            },
            success:function(data){
              if(data.status!=undefined && (data.status == 'ok' || data.status == 'error')){
                showMsg(data.msg);
              }
            }
          });
        }else{
          showMsg("手机号的格式错误");
        }
      }else{
        showMsg('手机号不能为空');
      }
    });
  });
</script>

相关文章

  • 结合ES6 编写 JavaScript 设计模式中的结构型模式

    结合ES6 编写 JavaScript 设计模式中的结构型模式

    这篇文章主要介绍了结合ES6编写JavaScript 设计模式中的结构型模式,设计模式是软件设计中常见问题的解决方案,这些模式很容易重复使用并且富有表现力
    2022-07-07
  • JS实现判断数组是否包含某个元素示例

    JS实现判断数组是否包含某个元素示例

    这篇文章主要介绍了JS实现判断数组是否包含某个元素,涉及javascript属性操作与正则判断相关使用技巧,需要的朋友可以参考下
    2019-05-05
  • 详解Javascript继承的实现

    详解Javascript继承的实现

    这篇文章主要介绍了详解Javascript继承的实现的相关资料,需要的朋友可以参考下
    2016-03-03
  • js中toString方法3个作用

    js中toString方法3个作用

    这篇文章主要给大家分享了js中toString方法的3个作用,文章围绕js中toString方法的相关资料展开全文内容,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2021-12-12
  • ES6中Proxy与Reflect实现重载(overload)的方法

    ES6中Proxy与Reflect实现重载(overload)的方法

    这篇文章主要介绍了ES6中Proxy与Reflect实现重载(overload)的方法,分析了重载的原理及使用Proxy和Reflect来实现重载的操作步骤与相关技巧,需要的朋友可以参考下
    2017-03-03
  • 浅谈JavaScript对象与继承

    浅谈JavaScript对象与继承

    下面小编就为大家带来一篇浅谈JavaScript对象与继承。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • Javascript中类式继承和原型式继承的实现方法和区别之处

    Javascript中类式继承和原型式继承的实现方法和区别之处

    其它的面向对象程序设计语言都是通过关键字来解决继承的问题。但是javascript中并没有定义这种实现的机制。接下来通过本文给大家介绍Javascript中类式继承和原型式继承的实现方法和区别,需要的朋友可以参考下
    2017-04-04
  • 用webAPI实现图片放大镜效果

    用webAPI实现图片放大镜效果

    这篇文章主要为大家详细介绍了用webAPI实现图片放大镜效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • javascript客户端生成MD5值的函数代码

    javascript客户端生成MD5值的函数代码

    用js实现的客户端即可实现md5值的代码,一般情况下都是后台语言才有的,客户端也有了,方便有需要的朋友了。
    2011-02-02
  • js原生瀑布流插件制作

    js原生瀑布流插件制作

    这篇文章主要为大家详细介绍了js原生瀑布流插件制作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10

最新评论