jquery data-disable-with

遇到了一个 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 做处理的。

你可能感兴趣的:(jquery data-disable-with)