首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测键盘楔形扫描器条形码输入web输入并阻止键盘输入

如何检测键盘楔形扫描器条形码输入web输入并阻止键盘输入
EN

Stack Overflow用户
提问于 2017-01-24 18:14:15
回答 1查看 1.1K关注 0票数 0

我需要强制条形码扫描仪输入到网页表单的文本字段中,我必须阻止键盘或粘贴输入。这是为了在制造环境中使用,其中个人用户有自己的条形码卡,他们携带,他们不允许预订他人的工作,这将是作弊!他们扫描的代码是他们的员工编号,长度始终为4个字符。条形码扫描器是USB,其功能类似于键盘,依次输入每个字符。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-24 18:14:15

我想出的代码可以检测字符1和字符4之间的时间。如果小于10毫秒,则代码是条形码扫描的,如果时间更长,则是通过键盘输入的。如果粘贴了代码,则字段长度不会为1个字符,因此未设置计时器变量,时间再次长于10毫秒。

代码语言:javascript
复制
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>

<script>
    var startTime = new Date().getTime();

  function barcodeScanCheck(){
    var input = document.getElementById("barcode").value;

    if(input.length == 1){
      startTime = new Date().getTime();
    }
    else if(input.length == 4){
      var elapsedTime = new Date().getTime() - startTime;
      if(elapsedTime < 10){
        alert("Barcode");
      }
      else{
        document.getElementById("barcode").value = "";
        alert("Keyboard");
      }
    }
  }
</script>

</head>

<body>

<form action="input.html" method="get">
<input id="barcode" name="barcode" type="text" onInput="barcodeScanCheck()">
<input name="submit" type="submit">
</form>

</body>
</html>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41825450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档