针对用户在个人中心绑定手机认证的一些js代码。
需求:
1:手机号码校验(格式的校验,手机号码是否已经绑定过)---未实现
2:填完手机号码,点击发送验证码,手机会收到一条信息
3:发送验证码按钮不可用,变成重新发送的倒计时
1):60秒以后又可以发送
2):前台页面刷新,点击发送验证码按钮,只要不到时间60s,仍然不能发送,前台提示 发送频繁
4:输入收到的手机验证码
5:点击确定,验证验证码正确,绑定手机
1):验证码错误,无法绑定
2):绑定的手机号必须和发送验证码的手机号相同
3):验证码本身设置过期时间 一般5分钟
js代码:
$(function(){
//如果没绑定手机才会出现这些代码
<#if !userinfo.isBindPhone>
//给点击绑定手机添加时间
$("#btn_showBindPhone").click(function(){
$("#bindPhoneModal").modal("show");
})
//点击发送按钮的倒计时处理
$("#sendVerifyCode").click(function(){
var phonenumber=$("#phoneNumber").val();
var _me=$(this);
if(phonenumber){
_me.attr("disabled",true);
var time=60;
$.ajax({
dataType:"json",
type:"POST",
url:"/sendVerifyCode.do",
data:{phoneNumber:phonenumber},
success:function(data){
if(data.success){
//发送成功,开始倒计时处理
var timer=window.setInterval(function(){
time--;
if(time>0){
_me.text(time+"秒后重新发送!");
}else{
//清除计时器
window.clearInterval(timer);
_me.text("重新发送验证码");
_me.attr("disabled",false);
}
},1000);
}else{
//发送失败,提示错误信息
$.messager.popup(data.msg);
_me.attr("disabled",false);//重置按钮为可用
}
}
});
}
});
//提交绑定手机按钮响应事件
$("#bindPhone").click(function(){
$("#bindForm").ajaxSubmit(function(data){
if(data.success){
$.messager.confirm("提示","绑定手机成功!",function(){
//绑定成功,重新加载页面
window.location.reload();
});
}else{
$.messager.popup(data.msg);
}
});
})
});
</#if>
模态框:
<#if !userinfo.isBindPhone>
<!-- 绑定手机模式窗口 -->
<div class="modal fade" id="bindPhoneModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="exampleModalLabel">绑定手机</h4>
</div>
<div class="modal-body">
<form class="form-horizontal" id="bindForm" method="post" action="/bindPhone.do">
<div class="form-group">
<label for="phoneNumber" class="col-sm-2 control-label">手机号:</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="phoneNumber" name="phoneNumber" />
<button id="sendVerifyCode" class="btn btn-primary" type="button">发送验证码</button>
</div>
</div>
<div class="form-group">
<label for="verifyCode" class="col-sm-2 control-label">验证码:</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="verifyCode" name="verifyCode" />
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
<button type="button" class="btn btn-primary" id="bindPhone">保存</button>
</div>
</div>
</div>
</div>
</#if>
运行:


输错:
60秒到可以重新发送:

点击发送验证码按钮之后立刻刷新验证码以后再次发送:

针对用户在个人中心绑定手机认证的一些js代码。的更多相关文章
- 自定义HttpModule,用于未登录用户,不弹出Windows认证窗口,而是跳转回SSO站点
2012年的一篇随笔记录,可以学习到如何自定义HttpModule,而具体里面针对需求开发的代码,可能未必能让大伙了解到什么,可快速扫描而过. using System; using System.W ...
- server宕机监控、检測、报警程序(139绑定手机短信报警)monitor_down.sh
宕机监控报警程序 一. 需求来源 宕机对运维人员来说,最痛苦了.怎样检測一台server是否还在正常执行,假设该server宕机,怎样在第一时间监測到并通知一线运维人员进行维护,最大化降低损失. ...
- SpringCloud学习心得—1.2—Eureka注册中心的密码认证、高可用的设置
SpringCloud学习心得—1.2—Eureka注册中心的密码认证.高可用的设置 这是相关代码 链接 Eureka开启密码配置 添加依赖 <dependency> <grou ...
- 基于HTML5手机登录注册表单代码
分享一款基于HTML5手机登录注册表单代码.这是一款鼠标点击注册登录按钮弹出表单,适合移动端使用.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div class=&qu ...
- 记录在苹果X手机上运行遇到的代码Dom被阻塞不更新的一个坑
一.问题产生背景: 开发支付功能,代码逻辑如下:点击支付后,请求后台接口得到流水号以及第三方支付台链接,跳转支付台(在苹果手机则是弹出支付台层):支付完毕后返回支付页面,或中途退出支付台返回支付页面: ...
- 如何在 Android 安卓手机上运行 Node.js 应用 | 如何在安卓手机配置node开发环境
最近在学习js,由于没法随身携带笔记本电脑,在手机翻阅<JavaScript高级程序设计>时,时常想调试一下书中的代码.于是就有了,能否在手机上配置一个js开发环境.考虑到手机上的Chro ...
- 【前端】js代码模拟用户键盘鼠标输入
js代码模拟用户键盘鼠标输入 原生js var event = new Event('mousewheel'); event.wheelDelta = 360 document.dispatchEve ...
- winform c#绑定combobox下拉框 年度代码。
winform c#绑定combobox下拉框 年度代码. comboBox1.Items.AddRange("});//邦定数据 comboBox1.Text = DateTime.Now ...
- xss 防止攻击,恶意用户将输入的信息当成html或js代码执行,办法是将用户输入的信息改为text格式,或特殊符号转义
xss 防止攻击,恶意用户将输入的信息当成html或js代码执行,办法是将用户输入的信息改为text格式,或特殊符号转义 XSS攻击的防范 XSS攻击造成的危害之所以会发生,是因为用户的输入变成了可执 ...
随机推荐
- [转帖] Oracle JDK 11 正式发布.. 版本号真快
Java 11 / JDK 11 正式发布! oschina 发布于 2018年09月26日 收藏 19 评论 38 在您的既有IT基础设施上按需构建人工智能更高效>>> 美 ...
- Node初识笔记 1第一周
#下载安装好node > https://nodejs.org/en/ # 打开cmd 调整好执行路径 . 1.js是JS文件名,cd调招路径,‘node’+空格 +JS文件名(带上扩展名) ...
- 解决Linux关闭SSH,终端后运行程序终止问题(包括后台)
问题描述: 每次SSH到服务器上,然后运行了一个自己写的服务端程序,比如 ./myserver.sh ,然后关闭ssh或者终端之后,发现服务不能访问. 简要分析下: 根据 这篇博文 的提示,ss ...
- 实现LinearLayout(垂直布局,Gravity内容排布)
首先上Gravity的代码,Android原版的Gravity搞得挺复杂的,太高端了.但基本思路是使用位运算来做常量,我就自己消化了一些,按自己的思路来实现. 先上代码,在做分析. package k ...
- Reverse Words in a String II
Given an input string, reverse the string word by word. A word is defined as a sequence of non-space ...
- iframe & cors
iframe & cors <!DOCTYPE html> <html lang="zh-Hans"> <head> <meta ...
- P4101 [HEOI2014]人人尽说江南好
题目描述 小 Z 是一个不折不扣的 ZRP(Zealot Round-game Player,回合制游戏狂热玩家),最近他 想起了小时候在江南玩过的一个游戏. 在过去,人们是要边玩游戏边填词的,比如这 ...
- BZOJ2529 [Poi2011]Sticks 【贪心】
题目链接 BZOJ2529 题解 要组成三角形,当且仅当最长边长度小于另两条边之和 我们就枚举最长边,另两条边当然是越大越好 我们将所有边排序,从小枚举并记录各个颜色的最长边 当枚举到当前边时,找到除 ...
- 构建工具----gradle---可能遇到的问题----Could not reserve enough space for object heap
Could not reserve enough space for object heap 意思是 jvm的设置内存不足以运行gradle命令了. 分为两种情况,解决的方法也不同. .10/user ...
- java整形中的缓存机制
英文原文:Java Integer Cache 翻译地址:Java中整型的缓存机制 原文作者:Java Papers 翻译作者:Hollis 转载请注明出处. 本文将介绍Java中Integer的 ...