1

ボックス内のメールが有効かどうかをテストする入力ボックスがあります。これはスクリプトです:

$("#myform").validate({
  rules: {
    field: {
      required: true,
      email: true
    }
  }
});

これにより、電子メールがテストされます。フォームに別のクラスを追加して色を変更するこのスクリプトもあります。

$("#myform").toggleClass("othercolor");

このコードをどこに置くべきかわかりません。jQueryを初めて使用するnewbyの質問で申し訳ありません。ありがとう=D

4

2 に答える 2

1

これがデモです...(更新済み)

jQuery 検証プラグインを使用しているようです。あなたがそうであると仮定すると$("#myform").validate()、ページがロードされたときに実行することによってフォーム検証を初期化する必要があります(たとえば、から呼び出すことによって$(document).ready())。

$(document).ready(function(){
  $("#myform").validate();
});

フォーカスが電子メール フィールドから離れたときに CSS クラスを適用する場合は、次のようにします。

var validator = null;
$(document).ready(function(){
    validator = $("#myform").validate({
      rules: {
        cemail: {
          required: true,
          email: true
        }
      }
    });


    $("#cemail").blur(function() {
        if (validator.form()) {
            $("#myform").addClass("othercolor");
        }
        else {
            $("#myform").removeClass("othercolor");
        }
     });
});​

validator.form()フォームが有効な場合は true を返し .toggleclass() は、ここで必要なことを実行しないことに注意してください。の戻り値に基づいてクラスを追加または削除する必要がありますvalidator.form()

于 2012-04-28T14:01:42.193 に答える
0

jQueryの成功コールバックに追加しないのはなぜですか:

$("#myform").validate({
rules: {
field: {
  required: true,
  email: true
}
},

success: function(){
$(this).toggleClass('red');    
}

});
于 2012-04-28T14:34:23.163 に答える