【问题标题】:Keyboard input vs Barcode Input键盘输入与条形码输入
【发布时间】:2013-12-10 07:48:17
【问题描述】:

我有一个只显示数字的文本框

    <input type="number" min="0" max="999999999999999999" maxlength="1">

我有一个条形码扫描仪

现在

问题是,当我在键盘上输入时,我只能输入 1 个字符,它会在文本框中显示 1 个字符,但我在条形码扫描仪上遇到问题,因为当我在扫描仪上扫描时,它只显示 1 个字符文本框,我需要整个条形码

有人可以帮我写代码

*注意:应该只有一个文本框

【问题讨论】:

  • 将最大长度更改为合适的整数

标签: barcode barcode-scanner jquery-barcode


【解决方案1】:

您已将输入的最大长度设置为 maxlength="1" - 这意味着此输入不能超过 1 个字符 - 无论来源是键盘还是条形码扫描仪(条形码扫描仪最终会模拟键盘输入)。你需要删除它。

编辑

作为一种解决方法,请检查一下...我在这里所做的是测量击键所需的时间。测量键盘的时间并与条形码扫描仪的时间进行比较。如果我是正确的,那么条形码扫描仪应该比键盘低得多:

<input type="text" onkeydown="checkKeyDown(this)" onkeyup="checkKeyUp(this)" />
<script>
    var keyDownTime;

    function checkKeyDown(obj) {
        keyDownTime = new Date();
    };

    function checkKeyUp(obj) {
        var now = new Date();
        alert(now - keyDownTime);
    };
</script>

【讨论】:

  • 我明白你的意思,但我试图做的是将键盘输入限制为仅 1 个字符,并通过 1 单击扫描仪写入条码的整个字符
  • 好吧,我认为您无法做到这一点,因为输入框不知道如何将击键与条形码输入区分开来。我将使用可能的解决方法来编辑我的答案 - 你必须对照你的条形码扫描仪检查它,因为我没有。
  • 实际上键盘是低于条形码的...我测试了您提供的代码并且它非常接近但是如果您可以使用比键盘具有更多字符的条形码来编辑它。 ..那么我更感激它
  • 尝试使用 console.log 而不是我写的警报进行测试 - 可能是不同的结果
  • @user3064490 如果条码扫描仪坏了,您必须手动输入条码...
猜你喜欢
  • 1970-01-01
  • 2017-06-09
  • 1970-01-01
  • 2019-01-08
  • 2011-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多