1

ユーザーが特定の長さのテキスト (15 文字としましょう) を入力フィールドに入力すると、フォームを送信するフォームの自動送信機能を探しています。

入力フィールドのテキストの長さを常に (非常に短い間隔で) チェックし、必要な文字数に達したら関数を実行する jQuery の関数はありますか? 何か案は?

編集:私はこの機能を探しています:ユーザーはフォームでページに入ります-入力フィールドにオートフォーカスします-ユーザーはスキャナーでバーコードを読み取ります-次にバーコード番号が入力フィールドに貼り付けられます(キーアップ、キーダウンイベントではありません)フォームは自動送信されます。

解決済み: この関数を使用して、入力フィールドの変更をキャッチしました。

$(#inputField).bind('input propertychange', function(){
  dostuff();  
});
4

2 に答える 2

7

特定の入力フィールドのテキストの長さをチェックする代わりに、イベント ハンドラをテキスト フィールドにintervalアタッチします。keyupイベントが発生するたびにkeyup、長さが 15 を超えているかどうかを確認します。超えている場合は、.submit()API を使用してフォームを送信します。

$('yourTextBoxSelector').on("change paste keyup", function(){
    if($(this).val().length >15){
        $('yourFormSelector').submit()
    }
});

更新: jQuery にはイベントがありpasteます。あなたはそれを使用することができます...

于 2012-09-16T13:01:28.057 に答える
0

これが私がこれにアプローチする方法です。これは、ユーザーが入力領域にコピー アンド ペーストすることも考慮に入れます。

Jsfiddle -> http://jsfiddle.net/PgzrU/4/

以下のコード:

var max = 15;
$('input').change(function(e)
{  
  if ($(this).val().length > max) { alert('form fired') }
}).keyup(function(e)
{  
  if ($(this).val().length > max) { alert('form fired') }
});​
于 2012-09-16T13:03:22.400 に答える