1

jQuery Validation pluginfadeToggle();に単純なフェード トランジション (例: )を適用しようとしましたが、うまくいきませんでした。これが私のコードです:

$.validator.setDefaults({

    // Add fadeToggle(); to showErrors
});

$("#login_form").validate();

$("#login_form").submit(function(event) {
    event.preventDefault();

    if($("#login_form").valid()) {

        $.post("/user/ajax_login", $('#login_form').serialize(), function(data) {
            if(data.redirect != null) {
                window.location.replace(data.redirect);
            }
        },'json');
    }
});

このフェードトランジションを追加する簡単な方法はありますか?

4

1 に答える 1

2

非常に簡単な答えの場合:

あなたはすでにvalid()エラーがあるかどうかをチェックするためにメソッドを使用しています...なぜそれを使用しないのですか?

例えば:

if($('#login_form').valid()) {
  // everything seams fine, lets submit the form

  $.post("/user/ajax_login", $('#login_form').serialize(), function(data) {
        if(data.redirect != null) {
            window.location.replace(data.redirect);
        }
    },'json');
}
else {
  // there is some kind of validation error

  $('label.error')
    .hide() // by this time all .error classes are shown, let's hide them
    .fadeIn('slow'); // and show them gently...

}

JsBinの実例

于 2012-04-20T17:42:30.047 に答える