用javascript读取条形码
我有一个条形码扫描器,读取条形码,当然,输入字段。目前,我能够读取条形码,但它会分别返回每个数字。我需要整根绳子。我一直在为这事伤脑筋 例如,我读取了一瓶水的条形码,输入字段正确地捕捉到了数字(即688267022760)。当我控制台记录它时,我会为每个数字获得独立的实例 我的模板(VueJS)在输入时触发扫描程序事件。我不完全确定这是否是正确的事件。我也试过键控和键控。不确定哪一个是推荐的扫描枪事件侦听器。无论如何,这就是我在模板中的内容:用javascript读取条形码,javascript,arrays,vue.js,barcode,barcode-scanner,Javascript,Arrays,Vue.js,Barcode,Barcode Scanner,我有一个条形码扫描器,读取条形码,当然,输入字段。目前,我能够读取条形码,但它会分别返回每个数字。我需要整根绳子。我一直在为这事伤脑筋 例如,我读取了一瓶水的条形码,输入字段正确地捕捉到了数字(即688267022760)。当我控制台记录它时,我会为每个数字获得独立的实例 我的模板(VueJS)在输入时触发扫描程序事件。我不完全确定这是否是正确的事件。我也试过键控和键控。不确定哪一个是推荐的扫描枪事件侦听器。无论如何,这就是我在模板中的内容: <input id="packageInpu
<input id="packageInput" type="text" @input="onBarcodeScanned" />
在我的剧本中:
onBarcodeScanned(barcode) {
let numbers = barcode.data; //data is the object property I need
console.log(numbers); //this shows me values I need
let newarr = []; //creating an emprty array where I assume I need to push data to
// looping through the data and pushing it to the new array, which does not do what I want but it was my logic
for (var i = 0; i < numbers; i++) {
newarr.push(numbers);
}
},
onBarcodeScanned(条形码){
让numbers=barcode.data;//数据是我需要的对象属性
console.log(number);//这显示了我需要的值
让newarr=[];//创建一个emprty数组,我假设需要将数据推送到该数组中
//循环遍历数据并将其推送到新阵列,这并不是我想要的,但这是我的逻辑
对于(变量i=0;i
理想的效果是在数组中获取这些独立的值,然后作为字符串连接
附言
读取条形码属性将返回一系列对象,其中包含多个函数的许多处理程序。感兴趣的属性是数据
。请参见下面的条形码对象示例
我该怎么做?我被难住了
p.p.S
我知道扫描仪本身带有一系列的程序说明。有些我不太明白。也许有一种条形码以字符串的形式返回,而不是以对象的形式返回每个数字?我使用的扫描仪是Wasp CCDScanner WCS3900,每次值更改时都会运行。大多数条形码扫描器都会模拟按键来输入扫描的值,因此,就您的应用程序所知,每个数字都是一个按键,它会改变值,因此会将每个数字作为输入事件进行报告。输入事件的
data
属性只是更改的输入的一部分,因此一次只能得到一个
您需要一种方法来确定输入何时完成,而不是何时完成。我相信大多数条形码扫描仪都会模拟在完全扫描完成后按ENTER或TAB键,所以这可能是您想要检测的,不是通过输入事件,而是通过按键或键控事件。这很有帮助。谢谢这也可能有帮助:根据特定扫描仪的手册,您可以使用手册该页上的条形码设置“终止符”字符。我建议使用CR,这是回车键(KeyCode13或Enter),但您可以选择您想要的任何一种。关键是你知道终结者角色是什么,你可以让你的应用程序检查onkeyup。我在手册中看到了。我添加了它,它在末尾用值“Enter”注册了一个额外的对象。但我仍然不知道如何收集其他值。此“Enter”对象没有在对象中的任何位置收集的值。嗯,我也在为同样的问题挣扎。你有没有找到解决办法?