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 做处理的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。