注册 登录
编程论坛 J2EE论坛

jsp网页密码输入框怎么限制输入时间?

boyfsl 发布于 2012-04-06 22:42, 1967 次点击
密码输入框这块我准备采取刷卡输入,就是不让人使用键盘输入,所以想采用时间限制来控制,密码必须在3秒内输入完成,没有在3秒内输完的,内容自动清除。jsp脚本怎么来写?
4 回复
#2
hsh_19872012-04-07 15:22
javascript或jquery实现
思路:
1、给那个密码输入框绑定keyup键盘事件.
2、当按下第一个字符时开始计时并取得开始时间(按回格键时不计算时间),
3、按下回车键(keyCode=13)时结束计时并取得结束时间.(刷卡后会自动按下回车按钮)
4、计算时间差,大于你设定的时间,则内容清楚。
  var currDate = new Date();   
  var currTime = currDate.getTime();    //获得开始或结束的时间

建议:
楼主设定的时间太长了。刷卡的时间一秒钟的时间都不用,我试过刷10个字符的卡只要400毫秒左右。楼主可以试验一下。
#3
boyfsl2012-04-07 22:24
我是初学者,弄了半天没有弄出来,麻烦大侠把代码写下,我学习下
#4
hsh_19872012-04-09 14:12
程序代码:
输入框:<input type="text" id="transferNo" onpaste="return false"/>
jquery:
var firstKeyDowntime = "";
$(document).ready(function(){
    //为输入框绑定回车事件
    $(function(){  
         $("#transferNo").bind('keyup',function(event) {
            
              if(event.keyCode == 13){   //回车
                  var currDate = new Date();  
                  var currTime = currDate.getTime();    //获得按回车的时间
                        
                  if(currTime - firstKeyDowntime > 400){      
                      alert("超时");
                  }else {   
                      alert("成功");
                  }
                 
                  firstKeyDowntime = "";    //清空第一次按下的时间
              }else if(event.keyCode != 8){ //回格键
               
                  var firstKeyDownDate = new Date();  
                  firstKeyDowntime = firstKeyDownDate.getTime();    //第一次按下键(除回车,回格)的时间
                 
              }
         });  
     });
}

#5
wang123qishe2012-04-20 09:32
高手啊。,
1