2

私は MVC 4 が初めてで、ハンド スキャナーを使用してテキスト ボックスに入力するインターネット アプリケーションを作成しています。バーコードがスキャンされたら、JavaScript 機能を自動的にアクティブにすることを望んでいました。

バーコードをスキャンすると、アクティブなテキスト ボックスが 12 文字でいっぱいになり、現在のところ、スキャンするたびにボタンをクリックする必要があります。バーコードを読み取った後、または 12 番目の文字を入力した後に、ボタンまたは JavaScript 機能を自動的にアクティブにする方法はありますか?

4

3 に答える 3

2
$('#myTextBox').attr('maxlength','12');
$(document).on('change','#myTextbox',function(e) {
    if ($(this).val().length >= 12) {
        $('#myButton').click();
    }
});

または、スキャナ ルーチンがキーボード イベントをサポートしている場合:

$('#myTextBox').attr('maxlength','12');
$(document).on('keyup','#myTextbox',function(e) {
    if ($(this).val().length >= 12) {
        $('#myButton').click();
    }
});

いずれにせよ、このソリューションには Javascript ライブラリであるjQueryが必要です。

于 2013-07-18T14:26:34.757 に答える
1

setInterval を使用して、定期的に長さを確認できます。何かのようなもの

var i=setInterval(function() {
   if (document.getElementById('myTextBox').value.length >=12) {
      clearInterval(i);

      // Execute your code here

   }
}, 100)

このコードは、テキスト ボックスの長さを 100 ミリ秒ごとにチェックし、目的の長さに達すると、コードを実行できます。

于 2013-07-18T14:30:40.203 に答える
1

まあ、ほとんどの場合、これで十分でしょう。

function functionThatActivatesWhenTwelveCharactersInForm(){

}

JS:

<input type="text" onkeyup="if(this.value.length>=12){functionThatActivatesWhenTwelveCharactersInForm()}; return true;">
于 2013-07-18T15:02:37.707 に答える