我正在使用条形码扫描器输入数据,然后将代码发送回服务器,以根据数据库进行验证。在输入第一个字符后,我遇到了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;
}
}提前感谢任何可能的帮助!
发布于 2010-07-22 03:34:16
当代码长度不是19时,您不应该执行alert,因为它会阻止扫描器在输入中输入字符。为什么在checkBarCode中返回false?
您使用的条形码扫描仪是否在末尾插入enter字符?
PS:我目前正在使用条形码和JS ;)
发布于 2010-07-22 03:36:56
删除else语句,它应该可以工作。
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);
}
}我不认为你需要退还任何东西。
https://stackoverflow.com/questions/3303001
复制相似问题