验证码计时器

前台html

<div class="register_img">  
 <div class="registerbox">   
                <div class="register">
  <div class="register_header">
  <span class="fl" style="font-size:18px;">沈阳市中小微企业科技服务平台|忘记密码</span>
  <span class="fr" style="font-size:14px;">返回登录页面,请<a style="color:#168AD5;" href="/login.jspx">登录</a></span>
  </div>
  <div class="register_content">
      <div class="register_id"><span>手机号:</span><input type="text" id="Smsmobile" name="Smsmobile"></input></div>
  <br/>
  <div class="register_pass"">
  <span>验证码:</span>
  <input type="text" value="6位数字验证码" οnfοcus="javascript:if(this.value=='6位数字验证码')this.value='';" id="ptSms" name="password"></input>
  <div style="display:inline;cursor: pointer;" id="sendSms" ><span class="register_login" id="ssendSms" style="text-align: center;" οnclick="sendResetVerifyCode()">获取验证码</span></div>
  </div>
  <div style="text-align:center;cursor: pointer;" οnclick="checkSmsfrominput()" ><span class="register_login">下一步</span></div>
  </div>
</div>
<input id="checkSms" type=hidden>
      </div>  
 </div>


JS代码

var countdown=3, interval;
var clickFlag = false;
var mobile=$("#Smsmobile").val();
function sendResetVerifyCode() {
if(clickFlag)
return ;
clickFlag = true;
interval = setInterval("timer()", 1000);


$.get("sendResetVerifyCode.jspx", {
mobile : mobile
}, function(result){
//在控制台输出
//console.log(result);
if(result.success){
alert("发送成功");
$("#checkSms").val(result.code);
}else{
alert("发送失败");
}

});
}
function timer() {
if (countdown == 0) {
$("#ssendSms").text("获取验证码");
$("#ssendSms").attr("style","text-align: center;");
$("#ssendSms").attr("class","register_login");
countdown = 3;
clickFlag= false;
clearInterval(interval);
return;
} else {
$("#ssendSms").text("重新发送(" + countdown + ")");
$("#ssendSms").attr("style","background-color:#D3D3D3;text-align: center;");
countdown--; 
}
}
function checkSmsfrominput(){
var checkSms=$("#checkSms").val();
var putSms=$("#ptSms").val();
if(checkSms!=""&&checkSms==putSms){
location.href ="rePassword.jspx";
}else{
alert("验证码输入错误");
}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Flutter 中实现验证码倒计时可以通过使用计时器 Timer 来实现。以下是一个简单的示例: 1. 首先定义一个变量 `countdownTime` 表示倒计时的时间,以秒为单位。 ```dart int countdownTime = 60; ``` 2. 然后定义一个变量 `timer` 来控制计时器的执行。 ```dart Timer timer; ``` 3. 在需要开始倒计时的时候,启动计时器,并在计时器中更新倒计时的时间。 ```dart void startCountdown() { timer = Timer.periodic(Duration(seconds: 1), (timer) { setState(() { if (countdownTime < 1) { timer.cancel(); } else { countdownTime -= 1; } }); }); } ``` 4. 在界面中显示倒计时的时间。可以使用 Text 组件来显示,然后在组件的 text 属性中使用字符串插值来显示倒计时的时间。 ```dart Text('倒计时 $countdownTime 秒') ``` 完整的示例代码如下: ```dart import 'dart:async'; import 'package:flutter/material.dart'; class CountdownPage extends StatefulWidget { @override _CountdownPageState createState() => _CountdownPageState(); } class _CountdownPageState extends State<CountdownPage> { int countdownTime = 60; Timer timer; void startCountdown() { timer = Timer.periodic(Duration(seconds: 1), (timer) { setState(() { if (countdownTime < 1) { timer.cancel(); } else { countdownTime -= 1; } }); }); } @override void dispose() { timer?.cancel(); super.dispose(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('验证码倒计时'), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Text('倒计时 $countdownTime 秒'), SizedBox(height: 16), RaisedButton( child: Text('开始倒计时'), onPressed: startCountdown, ), ], ), ), ); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值