我在表单上有一个按钮,当用户单击它时会被禁用。然后,我在表单上执行一些验证,并让用户知道是否有任何错误。我在重新启用按钮时遇到问题。下面是禁用按钮的代码(在Windows 8上停止IE以及注册多次点击时相当复杂):
var alreadySent = false;
$(document)
.ready(function () {
$("#submitBtn")
.click(function (event) {
event.preventDefault();
if (!alreadySent) {
$("#checkInOutForm")
.submit();
alreadySent = true;
}
$(this)
.prop("disabled", true);
});
});
以下是应该重新启用按钮或提交表单的代码。你还可以看到我试图重新启用按钮的所有内容 - 没有一个工作 - 按钮保持禁用状态。
function addNewSubmit() {
if (document.getElementById("actionType").value === "deleteVisit") {
if (confirm("Deleting a visit cannot be undone.\nAre you sure you wish to continue?")) {
document.addNew.submit();
}
} else {
var error = checkAddNewRequiredFields();
if (!error == "") {
// Re-enable the submit button
document.getElementById("submitBtn").disabled = false;
//document.getElementById('submitBtn').removeAttribute("disabled");
//document.getElementsByTagName("#submitBtn")[0].removeAttribute("disabled");
//$('#submitBtn').removeAttr('disabled');
//$('#submitBtn').prop("disabled", false);
/*$('#submitBtn').each(function() {
this.disabled = false;
});*/
//$("#submitBtn").button('refresh');
alert(error);
return false;
} else {
document.addNew.submit();
}
}
}
我不想简单地刷新页面来重新启用按钮 - 启用按钮似乎有点沉重!
我在此页面上运行jQuery Mobile,因为它设计为从桌面或移动设备运行,我能够在最新版本的IE,Chrome和FF中复制错误。
非常感谢任何帮助。 加雷
编辑:此按钮显示在隐藏设置上,当用户点击按钮时,该隐藏设置为弹出窗口。
答案 0 :(得分:0)
由于您使用的是jQuery,因此可以使用它来启用它
$('#submitBtn').prop('disabled', false);
确保$('#submitBtn')返回对象并检查错误是否正常