0

メールアカウントの作成中にパスワードを比較してパスワードを確認するように、jqueryを使用して2つのテキストボックスのデータを比較したい。それでも私は次のものを持っています。

CSS

.test {
    display:none;
}

HTML

<input type="text" name="t1" />
<input type="text" name="t2" />
<label class="test" name="lblerror">Error</label>

jQuery

$("#t2").click(function () {
    if ($("#t1").val() === $("#t2").val()) {} else {
        $("#lblerror").removeClass("test");
    }
});

デモ

という名前の2番目のテキストボックスを残したまま、これら2つの文字列を比較するにはどうすればよいですかt2

前もって感謝します。

4

7 に答える 7

4

これを試して

Jquery で名前を Id として使用していますが、それは間違っています。名前をIDに変換します。その後、それは動作します。

<input type="text" id="t1" />
<input type="text" id="t2" />
<label class="test" id="lblerror">Error</label>

JS

$(function(){
    $("#t2").change(function () {
                 if ($("#t1").val() === $("#t2").val()) {
                    $("#lblerror").addClass("test");        
                }
                else {
                    $("#lblerror").removeClass("test");
                }
            });
    });

デモ

于 2013-08-28T11:43:27.460 に答える
1

$("#t2")は要素を参照しid="t2"ますが、すべてのフィールドには onlynameと noがありidます。idアクセスするには、フィールドに を追加する必要があります。

HTML コードを次のように変更してみてください。

<input type="text" id="t1" />
<input type="text" id="t2" />
<label class="test" id="lblerror">Error</label>

以下のコードを使用して、2 つのフィールドの値を比較し、比較結果に基づいてラベル エラーを表示/非表示にすることができます。

$("#t2").on("blur", function () {
    if ($("#t1").val() === $("#t2").val()) {
        $("#lblerror").hide();
    } else {
        $("#lblerror").show();
    }
});
于 2013-08-28T11:43:38.467 に答える
1

あなたのhtmlで

<input type="text" name="t1" />
    <input type="text" name="t2" />

ID を提供していません

あなたのコードは

<input type="text" name="t1"  id="t1" />
<input type="text" name="t2" id="t2"  />

さらに、イベントを追加する必要があるblurと思います。

$("#t2").blur(function () {
                    if ($("#t1").val() == $("#t2").val()) {
                      $("#lblerror").removeClass("test");
                    }
                    else {
                       $("#lblerror").addClass("test");  
                    } 
                });

更新されたフィドル

于 2013-08-28T11:41:54.343 に答える
1

このようなことを試してください

$('form').submit(function(evt) {
   if ($('#textbox1').val() === $('#textbox2').val()) {
     alert('values match');
     evt.preventDefault();
   }
}

.submit() メソッドを使用してフォームの送信イベントにバインドし、テキスト ボックスの 2 つの値を比較します。値が同じ場合は警告を表示し、event.preventDefault() を使用してデフォルト アクション (フォーム送信) を防止します。

動作例デモはこちら

于 2013-08-28T11:46:45.570 に答える
1

$("#t1") で要素を取得する必要がある場合、t1 は名前ではなく ID にする必要があります。

input タグに id="t1" を追加します。

<input type="text" name="t1"  id="t1" />
<input type="text" name="t2" id="t2"  />
于 2013-08-28T11:47:11.257 に答える
0

名前の代わりにidに変更し、クリックの代わりにぼかしイベントに変更しました

クリックすると、入力後にもう一度クリックする必要があります

$("#t2").blur(function () {



                        if ($("#t1").val() === $("#t2").val()) {
                         $("#lblerror").removeClass("test");

                        }
                        else {
                           $("#lblerror").addClass("test");    

                        }


    });
于 2013-08-28T11:53:29.180 に答える
0

このように name 属性をセレクターとして使用することはできません。さらに、あなたのjqueryでは、IDに基づいて要素を選択する「#」を使用しました。HTML を次のように変更します。

<input type="text" id="t1" />
<input type="text" id="t2" />
<label class="test" id="lblerror">Error</label>  
于 2013-08-28T11:51:33.680 に答える