我正在使用条形码扫描仪输入数据,然后将代码发送回服务器以根据数据库进行验证。我遇到了输入第一个字符后 JavaScript 启动的问题。我需要找到一种方法来延迟此操作,以便可以输入完整的 19 个字符。我尝试检查的条形码包含数字、空格和破折号。
这是我到目前为止所拥有的:
<form name="getBarcode" method="GET">
Barcode: <input id = "barcodeEntry" type="text" name="barcode" onkeyup = "checkBarCode()" /><br />
</form>
和 JS
var checkBarCode = function() {
var barcode = $("#barcodeEntry").val();
if (barcode.length == 19) {
var url = "check/";
var data = {barcode:barcode};
var args = {type:"GET", url:url, data:data, complete: checked};
$.ajax(args);
return false;
} else {
alert("something went wrong here");
return false;
}
}
var checked = function(res, status) {
if (status == "success") {
alert("Valid");
return false;
} else {
alert("Not Valid");
return false;
}
}
预先感谢您提供任何可能的帮助!
最佳答案
当代码长度不是 19 时,您不应该发出警报
,因为它会阻止扫描器在输入中输入字符。为什么在 checkBarCode 中返回 false ?
您使用的条形码扫描仪是否在末尾插入enter
字符?
PS:我目前正在使用条形码和 JS ;)
关于javascript - JS 过早验证条码扫描仪数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3303001/