1

我一直在尝试对jQuery Validation 插件fadeToggle();应用一个简单的淡入淡出过渡(例如),但没有运气。这是我的代码:

$.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 回答