昨日私はここに質問を書きましたが、私がその要求をした方法はちょっと混乱しました.
今、私はそれを別の方法で試します。
バーコードをスキャンして入力を入力フィールドに書き込むバーコードハンドスキャナーがあります。10 桁を入力して 5 ミリ秒以内にリターンを押すのと同じです。
例: 2134463342 + リターン
今、リロード時にオートフォーカスに設定されたフォームがあり、スキャナーから入力を取得できます。
入力フィールドに入力せずに、スキャンを実行してデータベースに渡すことができるようにしたいと考えています。
例: ユーザーは、入力フィールドに入力せずに何かをスキャンするのではなく、Web ページを閲覧するなどの他のことを行います。
サイトからいくつかのコードをコピーしました:
var chars = [];
$(window).keypress(function(e) {
if (e.which >= 48 && e.which <= 57) {
chars.push(String.fromCharCode(e.which));
}
console.log(e.which + ":" + chars.join("|"));
if (pressed == false) {
setTimeout(function(){
if (chars.length >= 10) {
var barcode = chars.join("");
console.log("Barcode Scanned: " + barcode);
// assign value to some input (or do whatever you want)
$("#barcode").val(barcode);
}
chars = [];
pressed = false;
},500);
}
pressed = true;
});
});
$("#barcode").keypress(function(e){
if ( e.which === 13 ) {
console.log("Prevent form submit.");
e.preventDefault();
}
});
コードは正常に動作します。私の質問は、入力フィールド/フォームに入力せずにその操作を行うことは可能ですか?
ありがとう