Javascript 如果由于验证错误而未提交表单,jQuery将关闭表单

Javascript 如果由于验证错误而未提交表单,jQuery将关闭表单,javascript,jquery,ruby-on-rails,ruby-on-rails-4,Javascript,Jquery,Ruby On Rails,Ruby On Rails 4,我有一个带有一些密码字段的jquery切换菜单 $(function(){ $(".expand_password_edit_form").on("click", function(event){ $(".password-edit").find('.password').slideToggle(400, function(){ $('html, body').animate({ scrollTop: $('.password').offset().t

我有一个带有一些密码字段的jquery切换菜单

$(function(){
  $(".expand_password_edit_form").on("click", function(event){
  $(".password-edit").find('.password').slideToggle(400,
    function(){
      $('html, body').animate({
        scrollTop: $('.password').offset().top + $('window').height()
      }, 1000);
    });
  });
});
但是,如果表单由于一些验证错误而未被提交,则默认情况下会切换菜单,因此用户无法看到这些字段上的实际错误标签


如果验证失败,您可以在HTML代码中放置一些数据属性

<div class="#{record.valid? ? '' :'expand_password_edit_form'}" data-invalid=true>
...
</div>

我最后做了这样的事情:

<div class="password" style="<%= "display:none;" unless f.object.errors.present? %>; height:260px;">

<div class="password" style="<%= "display:none;" unless f.object.errors.present? %>; height:260px;">