Rails5 with Bootstrap4,
点击按钮去请求一个耗时的同步操作,给用户 UI 提示,并禁止他在此期间有意或者无意的重复点击。
查到 button_to 里有 disable_with
的选项,很好用,但是不知道怎么在 disable_with
中添加复杂元素。
如何将图片和 JS 操作用于 disable_with
?
Bootstrap 有 disabled
类,也支持 disabled
属性.
当使用 $(this).attr("disabled", "disabled");
发现后端收不到请求了,等待期间重复点击也收不到请求.
当使用 $(this).addClass("disabled");
可以收到请求,但等待期间重复点击也会收到重复请求。
禁止提交重复请求该如何写 JS 的绑定事件?
目前我的解决办法是:
<%= button_to containers_path,
method: :post,
class: "btn btn-block btn-outline-primary",
id: "create_tube",
remote: true do %>
$(function () {
$("#create_tube").click(function () {
if ($(this).hasClass("disabled")) {
$(this).attr("disabled", "disabled");
} else {
$("#create_tube .fa-plus").addClass("fa-pulse");
$(this).addClass("disabled");
}
});
});
完成之后再分别重置 disabled
的类和属性。
请问大家有更好的方法吗?谢谢