【问题标题】:jQuery / Rails: Fire JS event on submit; only when validation is passedjQuery / Rails:提交时触发 JS 事件;仅在通过验证时
【发布时间】:2014-05-15 11:20:45
【问题描述】:

在 Rails 中,某些表单会在客户端自动进行验证,因此当表单字段中有不适当的值时,表单不会被提交。你会得到类似

我想触发一个 javascript 事件(在这种情况下显示一个旋转的加载器),但只有当这个没有发生并且表单实际被提交时。

目前有

$(document).ready( function () {
  $('#new_import').on("submit", function () {
    $('#product_import_loading').slideDown();
  });
});

但即使验证阻止提交也会触发。

我能做什么?

【问题讨论】:

    标签: javascript jquery ruby-on-rails ruby-on-rails-3 forms


    【解决方案1】:

    我很确定没有与表单验证相关的固有 jquery-ujs 事件,但您可以轻松地使用 jQuery validation 之类的东西,仅在表单通过客户端验证时执行某些操作。

    这可能会满足您的需求(我对插件没有太多经验):

    $("#new_import").on('submit', function() {
      if($(this).valid()) {
        // show your spinner
      }
      else {
        // do other stuff
      }
    });
    

    【讨论】:

      猜你喜欢
      • 2021-04-29
      • 1970-01-01
      • 1970-01-01
      • 2019-11-06
      • 2013-05-20
      • 1970-01-01
      • 1970-01-01
      • 2017-11-04
      • 1970-01-01
      相关资源
      最近更新 更多