Javascript 通过QR阅读器填写表格/输入

Javascript 通过QR阅读器填写表格/输入,javascript,html,qr-code,Javascript,Html,Qr Code,我不是一个程序员,我写的东西大多是从别人那里抄来的,但我是。迫切需要一个解决方案。我想到的是比较两个数组,其中一个由来自的字符串填充,另一个由蓝牙QR读取器填充,这样我就可以比较两个数组并将重复值标记为“找到”(这是一个库存系统)。但是,当我尝试将二维码读入输入时,它会自动将我重定向到新的浏览器页面。(我扫描的代码不是URL,它只是一个############格式的库存编号)当我使用键盘时,我的输入效果非常好。。由于键盘记录器声称阅读器的唯一按钮是“13”,所以我认为它的行为就像一个普通的“13

我不是一个程序员,我写的东西大多是从别人那里抄来的,但我是。迫切需要一个解决方案。我想到的是比较两个数组,其中一个由来自的字符串填充,另一个由蓝牙QR读取器填充,这样我就可以比较两个数组并将重复值标记为“找到”(这是一个库存系统)。但是,当我尝试将二维码读入输入时,它会自动将我重定向到新的浏览器页面。(我扫描的代码不是URL,它只是一个############格式的库存编号)当我使用键盘时,我的输入效果非常好。。由于键盘记录器声称阅读器的唯一按钮是“13”,所以我认为它的行为就像一个普通的“13”回车键。。当我在工作中滥用一台速度较慢的计算机时,我发现它实际上按预期运行,将数字写入输入,按enter键“提交”。。然后它会重定向到别处。。有什么办法阻止它这样做吗?谢谢,迈克尔



读取CSV

斯普斯蒂特 重置

让btn_upload=document.getElementById(“btn upload csv”).addEventListener(“单击”,()=>{ parse(document.getElementById(“文件选择器”).files[0],{download:true, 标题:false, 完成:函数(结果){console.log(结果); } }); }); var-cele=[]; 函数spustit()//Zeptat se jak zakázat prázdnéscany array.filter? { nove=[(document.getElementById(“scanID”).value)]; 中耳推(nove); document.getElementById(“pole”).innerHTML=cele; document.getElementById(“scanID”).value=“”; } 函数重置() { cele=[]; document.getElementById(“pole”).innerHTML=cele; } var input=document.getElementById(“scanID”); input.addEventListener(“键控”,函数(事件){ 如果(event.keyCode===13){ event.preventDefault(); spustit(); } }); const fileSelector=document.getElementById(“文件选择器”); fileSelector.addEventListener('change',(事件)=>{ const fileList=event.target.files; console.log(文件列表); });
您可能需要更改扫描仪的结束字符。当您使用某种类型的扫描仪(二维码、条形码等)时,扫描仪将提供结束字符。通常,它们类似于
CR+LF
(回车+换行更多)。您需要将其更改为仅
CR
(如果扫描仪是这种情况)

或者这个问题的一个简单解决方案是,忽略这个结束字符。您可以使用一个简单的eventListener执行此操作:

input.addEventListener('keydown', function(event) {
if( event.keyCode == 13 || event.keyCode == 17)
event.preventDefault();
});
按键代码:13=输入,17=CR


亲爱的Raqha

您可能需要更改扫描仪的结束字符。当您使用某种类型的扫描仪(二维码、条形码等)时,扫描仪将提供结束字符。通常,它们类似于
CR+LF
(回车+换行更多)。您需要将其更改为仅
CR
(如果扫描仪是这种情况)

或者这个问题的一个简单解决方案是,忽略这个结束字符。您可以使用一个简单的eventListener执行此操作:

input.addEventListener('keydown', function(event) {
if( event.keyCode == 13 || event.keyCode == 17)
event.preventDefault();
});
按键代码:13=输入,17=CR


亲爱的Raqha

你所说的新浏览器页面是什么意思,哪个页面?对不起,我错了,这是一个新窗口,我在Chrome、Opera、Mozilla、Edge Explorer上进行了测试。。都是一样的现在我又试了一次。。我错了。。这不仅仅是一个新标签,它还搜索我在bing上扫描的文本。为什么所有的东西都是冰?谷歌被设置为默认SE。哦,这个事实很有趣,它用bing搜索一些东西。Bing是微软的SE,所以当你在Cortana中搜索某个东西时,结果会出现在Bing上。它也在Edge中打开吗?据我测试,它出现在我的网页和其他网页(我在w3schools上尝试过)上,我扫描到一个“输入字段”,但当我扫描到多个站点的“搜索栏”时,它工作正常。。但他们的代码太复杂了,我无法理解。当我在浏览器外扫描时(例如,对于一个文本文件,它会按预期运行,只是文本和CR或LF,或者两者都取决于或设置..没有浏览器,没有新窗口没有其他字符新浏览器页面是什么意思,哪个页面?对不起,我的错误,这是一个新窗口,我在Chrome、Opera、Mozilla、Edge Explorer上进行了测试..所有的行为都是一样的。现在我又尝试了一次错。这不仅仅是一个新标签,它搜索我在bing上扫描的文本。为什么bing是所有东西中的一个?Google被设置为默认SE。哦,这个事实很有趣,它用bing搜索一些东西。bing是微软SE,所以f.e.当你在Cortana中搜索某个东西时,结果会出现在bing上。它也会在Edge中打开吗?据我测试,哈在我的网页和其他网页(我在w3schools上试过)上都会出现这样的情况:我扫描到一个“输入字段”,但当我扫描到多个网站上的“搜索栏”时效果很好。但它们的代码太复杂了,我无法理解。当我在浏览器之外扫描时(例如,对于一个文本文件,它会按预期运行,只是text和CR或LF,或者两者都取决于或设置..没有浏览器,没有新窗口,没有其他字符提示,遗憾的是,她没有更改为“后缀+CR”,也没有添加事件侦听器来解决这个问题。@MichalMasopust哦,现在有意义了。这只是一个“修复”当它只发生在Chrome上时,正如您所提到的,在任何浏览器上都是一样的。thaks作为提示,遗憾的是,Neither更改为“后缀+CR”或添加事件侦听器似乎解决了这个问题。@MichalMasopust哦,这现在是有意义的。当它只发生在Chrome上时,这只是一个“修复”,正如您所提到的,在任何浏览器上都是一样的。