Javascript 使用阻止单击post/submit提交的Ajax复选框

Javascript 使用阻止单击post/submit提交的Ajax复选框,javascript,jquery,ajax,checkbox,Javascript,Jquery,Ajax,Checkbox,大家好,我正在jquery中开发一个ajax函数,它保存复选框的值。我的问题是,如果用户多次单击,即使保存尚未完成/成功,该怎么办?如何防止用户在提交表单时勾选复选框?谢谢 以下是我的代码片段: $(".chkOverride").click(function (e) { var userId = $("#UserId").val(); var isChecked = $(this).is(":checked") $.aja

大家好,我正在jquery中开发一个ajax函数,它保存复选框的值。我的问题是,如果用户多次单击,即使保存尚未完成/成功,该怎么办?如何防止用户在提交表单时勾选复选框?谢谢

以下是我的代码片段:

$(".chkOverride").click(function (e) {
            var userId = $("#UserId").val();
            var isChecked = $(this).is(":checked")
            $.ajax({
                url: "/Worker/Worker?Id=" + Id + "&isChecked=" + isChecked + "&UserId=" + UserId,
                type: "post",
                success: function (result) {
                    alert("Success!");
                    location.reload();

                },
                error: function () {
                }
            });
        });

您可以在开始ajax调用之前禁用该复选框。您可以使用
prop()
方法来执行此操作。将
禁用属性值设置为true

$(".chkOverride").click(function (e) {

      var _this=$(this);
      _this.prop('disabled', true);

      var userId = $("#UserId").val();
      var isChecked = $(this).is(":checked")
      $.ajax({
                url: "/Worker/Worker?Id=" + Id + "&isChecked=" + 
                                                       isChecked + "&UserId=" + UserId,
                type: "post",
                success: function (result) {
                    alert("Success!");
                   //No point in enabling as you are going to reload the page
                   _this.prop('disabled', false);
                    location.reload();

                },
                error: function () {
                  alert("Error :(");
                   _this.prop('disabled', false);
                }
          });
});

您是否遇到过此链接:


您可以使用禁用复选框

$this.attr('disabled', 1);

在进行Ajax调用之前禁用该按钮。

因此,如果我删除该页面重新加载,我应该添加禁用的false属性y。这将从元素中删除禁用的行为。