1

私は2つのテキストボックスを持っています。最初のテキスト ボックスが空の場合、タブを押したときに 2 番目のテキスト ボックスに進むことができないか、ユーザーが意図的に 2 番目のテキスト ボックスにフォーカスを置きます。

html

<input type="text" id="txt1" />
<input type="text" id="txt2" />

jquery/javascript

$("#txt1").keydown(function (e) {
    if (e.which == 9)  {
        if ($.trim($(this).val() == ""))
            $(this).focus();
     }
 });

if ($("#txt2").is(":focus")) {
    if ($.trim($("#txt1").val() == "")) 
         $("#txt1").focus();
}

これを見てください:http://jsfiddle.net/N8GAr/

これについて助けが必要です。ありがとう。

4

4 に答える 4

3

このようにjquery のfocus()関数を使用します

$("#txt2").focus(function() {
        alert('abc');
        if ($.trim($("#txt1").val() == "")) 
             $("#txt1").focus();
    });

Jsfiddle.netで希望の結果を確認してください

于 2013-02-22T06:02:38.160 に答える
1

これを試して

$("#txt1").keydown(function (e) { 
if (e.which == 9)  {
    if ($.trim($(this).val() == ""))
        $(this).focus();
}
});
$("#txt2").focus(function(){
    if ($.trim($("#txt1").val() == "")) 
        $("#txt1").focus();
});
于 2013-02-22T06:02:37.280 に答える
1

以下の解決策を見つけてください:

$(document).ready(function() {
    $("#txt2").focus(function(){
        if(!$("#txt1").val())
        $("#txt1").focus();
    });
});
于 2013-02-22T06:17:46.067 に答える
1

そこで二重のロジックチェックを行う必要はありません。たとえば、このコードでは、最初のフィールドが空の場合、2 番目のフィールドをフォーカスできません。あなたはこれが欲しいですよね?ユーザーが最初のフィールドでタブを押しても、最初のフィールドがフォーカスされたままになります。最初のフィールドが空でない場合にのみ、2 番目のフィールドに移動します。

$("#txt2").focus(function(e){
    if (!$.trim($("#txt1").val())) {
       $("#txt1").focus();
       return false;
    }
});
于 2013-02-22T06:20:56.090 に答える