您好,我正在使用 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()
方法来做到这一点。将 disabled
属性值设置为 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);
}
});
});
关于javascript - 提交的 Ajax 复选框防止点击发布/提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34348118/