2

ID付きで以下に記載されているのと同じ順序で5つのテキストボックスがあります

  1. txt名
  2. txt姓
  3. txtメールアドレス
  4. txtTelcode
  5. txt電話番号

電話番号 (txtTelcode および txtTelephoneNumber) のタブ機能が必要です。

テキストボックス txtTelcode の最大長は 5 です。必要な機能は次のとおりです。

ユーザーが txtTelcode を入力すると、5 桁の数字を入力した後、タブは自動的に次のテキストボックス txtTelephoneNumber に移動します。

正常に動作している以下のコードを使用しましたが、1 つの問題に直面しています。

$(document).ready(function () {
    $('#' + telcode).keyup(function () {
        if ($.trim($('#' + telcode).val()).length == "5") {
            $('#' + txtTelephoneNumber).focus();
        }
    });
});

問題は、txtTelcode に既に 5 桁の数字がある場合、ユーザーが txtTelcode にタブで移動すると、この関数が自動的にそれらを txtTelcode で停止することなく txtTelephoneNumber に進めることです。これは私が望んでいることではありません。代わりに、完了しても txtTelcode にタブで移動できる必要があります。これを修正するためにコードを変更するにはどうすればよいですか、またはこれを実装するにはどうすればよいですか?

4

1 に答える 1

3

以下のように自分のコードを変更しました。e.keyCodeを取得して、Tabキーが押された場合に、コードが実行されないようにしました。

Shift +タブ機能の場合、e.keyCodeを取得してShiftキーを押すと、コードが実行されないようにしました。

$('#' + telcode).keyup(function (e) {
            if (e.keyCode != 16) {
                if (e.keyCode != 9) {
                    if ($.trim($('#' + telcode).val()).length == "5") {
                        $('#' + txtTelephoneNumber).focus();
                    }
                }
            }
        });

このコードは正常に機能しています。

于 2012-04-17T03:53:03.570 に答える