0

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

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

我有一个条形码扫描仪

现在

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

有人可以帮我写代码吗

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

4

1 回答 1

1

您已将输入的 maxlength 设置为 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>
于 2013-12-10T07:52:35.327 回答