【发布时间】:2014-02-16 14:06:54
【问题描述】:
我有一个form_tag(foo_path(@foo), remote: true, id: 'foo-form' 表单和一个提交按钮submit_tag ("Submit", :id => "foo-submit")
我想在点击提交按钮后禁用它。显然,我不能使用像onlick="jQuery(this).prop('disabled', true);" 这样的东西,因为它会破坏远程功能。我知道 submit_tag 的 :disable_with 数据属性,但它似乎对我不起作用。它确实生成了正确的表单代码,但没有任何效果。我不确定为什么它不起作用,但这可能是因为我同时使用原型(遗留原因)和 jquery。不过,我只为 jquery 加载 ujs 而不是原型。但是,所有其他 query_ujs 功能都运行良好。
还有其他方法可以禁用提交按钮吗?
【问题讨论】:
-
你在所有 jQuery 命令之前运行
jQuery.noConflict();吗?这可能会有所帮助。当你检查 DOM 并且没有重复时,你能确认所有的 id 都是正确的吗? -
两者都是。但是,我设法通过修改我的代码让 `disable_with' 工作。这可能是由于表单助手中的错误,但我还不确定。
-
确保您已加载所有需要的库,例如 jquery-rails 等。数据属性“disable-with”应该适用于所有情况。或者有什么具体的事情你做的没有用吗?
-
@TanelSuurhans 请在下面查看我的回答
标签: jquery ruby-on-rails ruby-on-rails-4 ujs