js模拟输入支付密码
html
<div class="content">
<!--<div class="title">支付宝支付密码:</div>-->
<div class="box"></div>
<!--<div class="forget">忘记密码?</div>-->
<!--<div class="point">请输入6位数字密码</div>-->
<!--<button class="getPasswordBtn">一键获取密码</button>-->
<div class="errorPoint">请输入数字!</div> </div>
js
/*222动态生成*/
var box=document.getElementsByClassName("box")[0];
function createDIV(num){
for(var i=0;i<num;i++){
var pawDiv=document.createElement("div");
pawDiv.className="pawDiv";
box.appendChild(pawDiv);
var paw=document.createElement("input");
paw.type="password";
paw.className="paw";
paw.maxLength="1";
paw.readOnly="readonly";
pawDiv.appendChild(paw);
}
}
createDIV(6); var pawDiv=document.getElementsByClassName("pawDiv");
var paw=document.getElementsByClassName("paw");
var pawDivCount=pawDiv.length;
/*设置第一个输入框默认选中*/
// pawDiv[0].setAttribute("style","border: 2px solid deepskyblue;");
paw[0].readOnly=false;
paw[0].focus(); var errorPoint=document.getElementsByClassName("errorPoint")[0];
/*绑定pawDiv点击事件*/ function func(){
for(var i=0;i<pawDivCount;i++){
pawDiv[i].addEventListener("click",function(){
pawDivClick(this);
});
paw[i].onkeyup=function(event){
console.log(event.keyCode);
if(event.keyCode>=48&&event.keyCode<=57){
/*输入0-9*/
changeDiv();
errorPoint.style.display="none"; }else if(event.keyCode=="8") {
/*退格回删事件*/
firstDiv(); }else if(event.keyCode=="13"){
/*回车事件*/
getPassword(); }else{
/*输入非0-9*/
errorPoint.style.display="block";
this.value="";
} };
} }
func(); /*定义pawDiv点击事件*/
var pawDivClick=function(e){
for(var i=0;i<pawDivCount;i++){
pawDiv[i].setAttribute("style","border:none");
}
// e.setAttribute("style","border: 2px solid deepskyblue;");
}; /*定义自动选中下一个输入框事件*/
var changeDiv=function(){
for(var i=0;i<pawDivCount;i++){
if(paw[i].value.length=="1"){
/*处理当前输入框*/
paw[i].blur();
/*处理上一个输入框*/
// 添加背景点
// paw[i].setAttribute("style","background: red;");
if(i==5){
alert("最后一个22")
getPassword();
return
}
paw[i+1].focus();
paw[i+1].readOnly=false;
pawDivClick(pawDiv[i+1]);
}
}
}; /*回删时选中上一个输入框事件*/
var firstDiv=function(){
for(var i=0;i<pawDivCount;i++){
console.log(i);
if(paw[i].value.length=="0"){
/*处理当前输入框*/
console.log(i);
paw[i].blur(); /*处理上一个输入框*/
paw[i-1].focus();
paw[i-1].readOnly=false;
paw[i-1].value="";
pawDivClick(pawDiv[i-1]);
break;
}
}
}; /*获取输入密码*/
var getPassword=function(){
var n="";
for(var i=0;i<pawDivCount;i++){
n+=paw[i].value;
}
alert(n);
};
var getPasswordBtn=document.getElementsByClassName("getPasswordBtn")[0]; getPasswordBtn.addEventListener("click",getPassword); /*键盘事件*/
document.onkeyup=function(event){
if(event.keyCode=="13") {
/*回车事件*/
getPassword();
}
};
css
*{
padding: 0;
margin: 0;
}
.content{
width: 400px;
height: 50px;
margin: 0 auto;
margin-top: 100px;
}
.title{
font-family: '微软雅黑';
font-size: 16px;
}
.box{
width: 190px;
height: 30px;
border:1px solid #ccc;
margin-top: 10px;
line-height: 30px;
}
.content .box,.forget,.content .pwdBox{
display: inline-block;
}
.content .forget{
width: 100px;
color:lightskyblue;
vertical-align: super;
font-size: 14px;
}
.box input.paw{
width: 30px;
height: 20px;
line-height: 20px;
margin-left: -9px;
border:none;
border-right: 1px dashed #ccc;
text-align: center;
}
.box input.paw:nth-child(1){
margin-left: 0;
}
.content .box .pawDiv:nth-child(6) input.paw{
border: none;
}
.content .box input.paw:focus{outline:0;}
.content .box .pawDiv{
display: inline-block;
line-height: 30px;
width: 31px;
height: 31px;
margin-top: -2px;
float: left;
}
.point{
font-size: 14px;
color: #ccc;
margin: 5px 0;
}
.errorPoint{
color: red;
display: none;
}
.getPasswordBtn{
width: 100px;
height: 30px;
background-color: cornflowerblue;
font-size: 14px;
font-family: '微软雅黑';
color: white;
border: none;
}
js模拟输入支付密码的更多相关文章
- 微信支付开发(3) JS API支付
由于微信支付接口更新,本文档已过期,请查看新版微信支付教程.地址 http://www.cnblogs.com/txw1958/category/624506.html 本文介绍如何使用JS API支 ...
- 移动端键盘密码输入框插件(jquery用于支付密码)
最后生成样子: 配置值: * back {function} 回调函数 * msghtml {html} 自定义的html * title {string|object} 标题 * {txt:标题,b ...
- 微信小程序之支付密码输入demo
在小程序中实现支付密码的输入,要解决几个问题: 1.小程序要想唤起键盘,必须要借助input控件.通过input控件和其属性focus来唤起和隐藏输入键盘. 2.要让input控件不可见.让光标和输入 ...
- 微信支付v2开发(3) JS API支付
本文介绍如何使用JS API支付接口完成微信支付. 一.JS API支付接口(getBrandWCPayRequest) 微信JS API只能在微信内置浏览器中使用,其他浏览器调用无效.微信提供get ...
- 微信支付开发(1) JS API支付
关键字:微信支付 微信支付v3 jsapi支付 统一支付 Native支付 prepay_id 作者:方倍工作室原文: http://www.cnblogs.com/txw1958/p/wxpayv3 ...
- Android 高仿微信支付密码输入控件
像微信支付密码控件,在app中是一个多么司空见惯的功能.最近,项目需要这个功能,于是乎就实现这个功能. 老样子,投篮需要找准角度,变成需要理清思路.对于这个"小而美"的控件,我们思 ...
- 微信支付开发(1) JS API支付V3版(转)
http://www.cnblogs.com/txw1958/p/wxpayv3-jsapi.html 本文介绍微信支付下的jsapi实现流程 前言 微信支付现在分为v2版和v3版,2014年9月10 ...
- js中记住密码功能
js中记住密码功能(在前端实现) 直接上例子(如果你也要实现的话注意改一些变量名称,jsp代码不包含样式) Jsp代码: <form class="am-form tpl-form-l ...
- vue支付密码
从网上搜索了好多都很麻烦,花了点事件自己做了个,简单轻便,老少皆宜 <template> <section class="pay-mask" @click=&qu ...
随机推荐
- 数据库sqlite3的使用-Navicat的安装
一:Navicat Navicat是一款著名的数据库管理软件,支持大部分主流数据库(包括SQLite) 1.Navicat的安装 (1)下载该软件后,先打开该软件 (2)把文件拖入到应用程序拷贝 (3 ...
- OpenMediaVault 搭建git,ssh无法连接问题
/************************************************************************* * OpenMediaVault 搭建git,ss ...
- less 使用入门
LESSS是基于JavaScript,所以,是在客户端处理的. 使用less很简单: 1 下载less.js 2 新建less文件后缀名称是.less 3 在页面中引入less文件,跟引入普通的css ...
- bzoj1138
dp+spfa优化 最朴素的dp是dp[i][j]表示i->j的最短路,然后把所有pair(i,i)放到队列里跑spfa,但是这样被卡掉了,那么我们要优化一下 问题在于每次我们转移的时候要枚举i ...
- Bootstrap中的字体图标
使用 <span class="glyphicon glyphicon-th-large"> XX文字</span>引入字体图标.一般情况下文字放在span ...
- C语言的随机发牌程序(红桃、黑桃、梅花、方块)
做一个随机发牌的C语言程序,供大家学习,思考. 未做任何注释,有测试时候留下的一些输出语句,一遍方便测试. /* author:nunu qq:398269786 */ #include<std ...
- 第一篇(eclipse中的单词)
launcher 启动栏,启动器 select a directory as workspace. 选择一个目录作为工作区 directory 目录 workspace 工作空间,工作区 Eclips ...
- tableView 加载更多
在ios开中中,由于屏幕尺寸限制,如果需要显示的数据很多,需要用到分页加载. 原理:先数据放到一个table中,先显示10条,table底部有一察看更多选项,点击察看更多查看解析的剩余数据.基本上就是 ...
- MYSQL 配置远程连接
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY ...
- _bzoj1070 [SCOI2007]修车【最小费用最大流】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1070 以后做网络流题目就是不能省内存... #include <cstdio> ...