Javascript 如何检测键盘楔形扫描仪条码输入到web输入并阻止键盘输入
我需要将条形码扫描仪输入到网页表单的文本字段中,我必须阻止键盘或粘贴输入。这是在制造环境中使用的,在制造环境中,个人用户随身携带自己的条形码卡,不允许他们预订其他人的工作,这将是欺骗!他们扫描的代码是他们的员工编号,长度始终为4个字符。条形码扫描仪是USB的,就像键盘一样依次输入每个字符。我用的代码检测字符1和4之间的时间。如果小于10毫秒,则代码被条形码扫描,如果更长,则由键盘输入。如果粘贴代码,则该字段的长度永远不会为1个字符,因此不会设置计时器变量,并且时间再次超过10毫秒Javascript 如何检测键盘楔形扫描仪条码输入到web输入并阻止键盘输入,javascript,html,forms,barcode,Javascript,Html,Forms,Barcode,我需要将条形码扫描仪输入到网页表单的文本字段中,我必须阻止键盘或粘贴输入。这是在制造环境中使用的,在制造环境中,个人用户随身携带自己的条形码卡,不允许他们预订其他人的工作,这将是欺骗!他们扫描的代码是他们的员工编号,长度始终为4个字符。条形码扫描仪是USB的,就像键盘一样依次输入每个字符。我用的代码检测字符1和4之间的时间。如果小于10毫秒,则代码被条形码扫描,如果更长,则由键盘输入。如果粘贴代码,则该字段的长度永远不会为1个字符,因此不会设置计时器变量,并且时间再次超过10毫秒 <!DO
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<script>
var startTime = new Date().getTime();
function barcodeScanCheck(){
var input = document.getElementById("barcode").value;
if(input.length == 1){
startTime = new Date().getTime();
}
else if(input.length == 4){
var elapsedTime = new Date().getTime() - startTime;
if(elapsedTime < 10){
alert("Barcode");
}
else{
document.getElementById("barcode").value = "";
alert("Keyboard");
}
}
}
</script>
</head>
<body>
<form action="input.html" method="get">
<input id="barcode" name="barcode" type="text" onInput="barcodeScanCheck()">
<input name="submit" type="submit">
</form>
</body>
</html>
这是对你自己问题的回答吗?如果没有,请更正此问题,并将您的代码放入您的问题。是的,我正在寻找解决方案,但找不到解决方案,因此在制定解决方案后,我将其发布在此处,以帮助其他具有类似要求的人。好吧,由于您同时发布了问题和答案,所以这确实令人困惑。