今天在工作中遇到这种情况:使用条码枪扫码时,只能在文本框录入一位字符,导致录入数据不全。
网上有人说应该把输入法切换到英文输入法状态
解决方法
html:
<input type="text" onkeypress ="saoma(event)" id="BARCODE">
js:
var keycode = "";
var lastTime=null;
var nextTime=null;
var lastCode=null;
var nextCode=null;
window.οnkeydοwn=function(e){
keycode += String.fromCharCode(nextCode);
if(window.event){
nextCode = e.keyCode
} else if(e.which){
nextCode = e.which
}
nextTime = new Date().getTime();
if(nextCode==13 && keycode!= "" && nextTime - lastTime <= 30){
keycode = "";
lastCode = null;
lastTime = null;
}else{
if(lastCode == null && lastTime == null){
keycode = String.fromCharCode(nextCode);
}else if(lastCode != null && lastTime != null && nextTime - lastTime <= 30){
keycode += String.fromCharCode(nextCode);
}else{
keycode = "";
lastCode = null;
lastTime = null;
}
lastCode = nextCode;
lastTime = nextTime;
}
}
function saoma(e){
var b=document.getElementById("BARCODE").value;
if(event.keyCode == 13) {
DWTMWZ(b);
document.getElementById("BARCODE").value="";
}
}
条码枪扫码时,只能在文本框录入一位字符的问题
最新推荐文章于 2022-08-12 10:01:25 发布