だから私は2つのテキストボックスを持っており、両方ともバーコードスキャナーで使用されています。Textbox1 はマテリアルで、Textbox2 はプログレスです。TB2 が "F4" をスキャンして Textbox1 にフォーカスしたときに、TB1 と TB2 をクリアしたいと思います。
私はそれを理解できなかったので、スタックに来ました。
助けてくれてありがとう。
だから私は2つのテキストボックスを持っており、両方ともバーコードスキャナーで使用されています。Textbox1 はマテリアルで、Textbox2 はプログレスです。TB2 が "F4" をスキャンして Textbox1 にフォーカスしたときに、TB1 と TB2 をクリアしたいと思います。
私はそれを理解できなかったので、スタックに来ました。
助けてくれてありがとう。
そのため、バーコード スキャンをキャプチャするのは困難です。イベントモデルが問題です。さらに悪いことに、ASP.NET を使用しているため、さらに難しくなります。でも、JavaScriptなら可能です。次の jQuery を検討してください。
$("#textBox2").on('keyup', function(event) {
o = $(this);
if (o.val() === 'F4') {
// post the values back to the server via AJAX
// clear the text boxes
$("#textBox1").val('');
o.val('');
// focus the first text box
$('#textBox1").focus();
}
});
where#textBox2
は調べたい要素のid
属性であり、 は物質値を格納する要素の属性です。input
#textBox1
id
input
これはASP.NET ポストバック モデルで技術的にハッキングされる可能性がありますが、きれいではありません。実際にポスト バックを強制するには、同じ JavaScript イベントを使用する必要があります。
$("#textBox2").on('keyup', function(event) {
o = $(this);
if (o.val() === 'F4') {
$('#formName').submit();
}
});
where#formName
は、あなたがいる要素のid
属性です。form
次に、サーバー側では、2 番目のテキスト ボックスのイベントを消費し、TextChanged
その値をチェックして、両方の値をクリアする必要があることを確認する必要があります。少し気まぐれです。
最後に、このポスト バック モデルを使用して、最初のテキスト ボックスにフォーカスを設定するクライアント スタートアップ スクリプトを登録する必要があります。これを行うには JavaScript が必要になるからです。ご覧のとおり、見苦しくなります。