遇到了一个 js 问题:在 simple_form_for
中,f.submit
上加入 disabled_with
属性,最终会翻译成 data-disable-with
,而 f.button
上加入 disabled_with
属性,是不会被翻译成 data-disable-with
的,所以点击之后,按钮就不会 disabled
了。
解决方法:自己在 f.button
手动加上 data: { disable_with: "通过..." }
即可生效。
在 html 标签上加入 data-disable-with
,jquery 会对这个标签做 disabled
处理,防止按钮被多次点击,导致数据重复提交。知道这个原理的话,就很好查了,看看标签 data 中有没有 disable-with
即可。
我查的时候绕了一大圈才回来如此检查。因为,我以为是 simple_form_for
或者是 bootstap
的黑魔法,忘了这是最基础的 jquery,在 rails 中是在 gem "jquery-rails"
中,最后找到是在 jquery-ujs
中对 data-disable-with
做处理的。