4

フィールドの に到達したJavasciptときに、あるフィールドから次のフィールドにユーザーを自動的に送信することは可能ですか?maxlength

もしそうなら、どのように?

4

6 に答える 6

0

jqueryを使用してこのようなコードを使用できます。このコードでは、テキストが20文字を超えると、#secondフィールドに移動します

<input id="first"/>
<input id="second"/>
<script>
$(function() {
   $('#first').keypress(function() {
      var self = $(this);
      //wait until character is inserted
      setTimeout(function() {
         if (self.val().length > 20) {
            $('#second').focus();
         }
      }, 1);
   });
});
</script>
于 2013-03-11T11:17:36.783 に答える
0
$('#productkey1').keyup(function() {
     if(this.value.length >= $(this).attr('maxlength'))
     {
         $('#productkey2').next().focus();
     }
 });
于 2013-03-11T11:18:56.533 に答える
0

はい。次のことを行う必要があります。

  • イベントを監視してonkeydown、文字が「オーバーフロー」しないようにします。
  • フォーム内の次の入力フィールドを(独自のロジック/構造に基づいて)検索します。
  • メソッドを使用しfocusて、その次のフィールドにフォーカスを設定します。
于 2013-03-11T11:12:55.157 に答える
0

はい、それは可能です。テキストボックスの最大長が5であるとします。関数onkeyupイベントを作成し、テキストボックス値の長さをカウントする必要があります。この関数では、長さが5以上の場合、2番目のテキストボックスフォーカス関数呼び出しを記述する必要があります。

于 2013-03-11T11:12:57.247 に答える
0

はい、イベントごとにフィールドに挿入された文字の数を計算する必要があります。そのonkeyup数がmaxlengthと等しい場合は、focusを次のフィールドに設定します。

于 2013-03-11T11:13:58.410 に答える
0

onfocusまず、入力が測定を開始していることを知るために、イベントにフックする必要があります。onkeyup次に、入力した文字の長さをイベントで確認する必要があります。制限に達したらfocus()、カーソルを移動する次の DOM 要素を呼び出すことができます。onblurまた、入力の長さの測定を停止したことを知るために、イベントを使用する必要があります。

たとえば、jQuery を使用します。

<input id="inputA" type="text"/>
<input id="inputB" type="text"/>

<script>

var $input;

$('#inputA').focus(function() {
    $input = $(this);
});

$(window).keyup(function() {
    if($input && $input.val().length == 5) {
        $('#inputB').focus();
    }
});

$('#inputA').blur(function() {
    $input = null;
});

</script>
于 2013-03-11T11:30:10.653 に答える