扫码枪输入mysql_输入框禁止手动输入,只允许扫描枪扫入

本文介绍如何创建一个只接受扫码枪输入、禁止手动键入的输入框。通过判断按键速度来区分扫码枪与手动输入,并在条码输入完成后执行相应操作,如回车键触发的数据处理。
摘要由CSDN通过智能技术生成

功能要求:输入框禁止手动输入,只允许扫描枪扫入

主要问题:

扫码枪就是模拟键盘的输入,实际上和手动输入的没有区别

1.如何判断是否手动输入

2.如何判断一个条码输入完成

解决方案

扫描抢的扫描速度比认为手动输入的速度快很多,可以用于判断是手动输入还是扫描枪扫入的。

手动输入的解决办法就是:对比一个键从按下到抬起的时间间隔,以及两次按键的时间间隔。

因为扫码枪的输入速度非常的快,我测试的扫码枪输入的间隔大概在15-60毫秒,然后手动输入的100-200之间,除非刻意的想突破限制进行快速的输入。这个间隔值可以控制的很小,前提不要快过扫码抢的速度。

输入完成的判断:可以对输入框变化做一个监听,如果达到我们想要的位数,则提交服务器端进行处理;

第二种是基于扫码枪,因为我使用的扫码枪可以配置扫码成功最后附加一个回车。所以根据回车的keycode就可以判断为输入已经结束,然后获取输入框的value,再进行后续的处理(提交服务器等)。

代码

//*****2020-08-05**********条码输入窗口要设置成只能条码枪扫入,禁止键盘和复制粘贴的功能*****************************

var keyDownTime = 0;    //按下的时间

var temp = 0;           //用于检查相邻两次按键,上一次按键按下的时间

//按键按下记录摁下时间

YAHOO.util.Event.addListener("packSn","keydown",function(

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值