2

我需要将带有ASCII 29(组分隔符)的条形码扫描到 HTML 输入字段中,并将所有组分隔符替换为 |。当我首先将条形码扫描到Notepad++中然后将其复制到输入字段时,以下 JavaScript 函数起作用,但当条形码直接扫描到输入字段时不起作用。有什么问题?

var barcode = document.getElementById('barcode').value;
barcode = barcode.replace(new RegExp(String.fromCharCode(29), 'g'), '|');
alert(barcode);
4

1 回答 1

1

在我的 Symbol Tech 条码扫描仪上,字符作为击键发送。例如,组分隔符将模拟按住 left_control 键,然后发送右括号。您的浏览器将处理模拟的击键,就像您尝试使用CTRL+]作为快捷键一样。

您可以使用onkeydown和 event.which 捕获此事件,如下所述: Firefox onkeydown detect pressed key

于 2014-11-05T01:12:13.600 回答