执行ajax请求时会产生一些保护操作,即:
$("#modal-afc-static > div > div > div.modal-footer > button.btn.btn-default.calc").attr({"disabled":"disabled"}); // deactivate press CALCULATE
$("#modal-afc-static > div > div > div.modal-footer > button.btn.btn-default.cancel").attr({"disabled":"disabled"}); // deactivate press CANCEL
$("#modal-afc-static > div > div > div.modal-header > button.close").attr({"disabled":"disabled"}) // deactivate press "X"
按钮取消, CALCULATE 和十字架" X "在顶部 - 锁定,分配给属性disabled="disabled"
(此BootStrap)。
在服务器响应后,我想执行以下操作:
$("#modal-afc-static > div > div > div.modal-footer > button.btn.btn-default.calc").children().detach(); // remove button to Calculate
$("#modal-afc-static > div > div > div.modal-footer > button.btn.btn-default.cancel").text("Close"); // change the name, click the CANCEL button to CLOSE
$("#modal-afc-static > div > div > div.modal-footer > button.btn.btn-default.cancel").attr({"disabled":""}); // activate again the CLOSE button
$("#modal-afc-static > div > div > div.modal-header > button.close").attr({"disabled":"disabled"}) // activate again click the cross
如我们所见,只触发了函数.text("Close")
,其他一切都失败了:
以下是程序操作发送数据并在变量数据中接收响应,程序标准(当您单击以计算示例代码时,会发生密钥保护,因为它有效并且可能不会表示它的意义):
// CalculateDataCurrentMonth - Asynchronous request to the server
function CommitDataCurrentMonth()
{
var sendMonth = $(".label.label-default.current-month").text();
sendPost_CommitDataCurrentMonth(url, { sendMonth: sendMonth, fnCommitDataCurrentMonth: true });
}
// Prepare POST request
function sendPost_CommitDataCurrentMonth(url, obj)
{
$.post(url,obj,onAjaxSuccess_CommitDataCurrentMonth);
}
// Display server response
function onAjaxSuccess_CommitDataCurrentMonth(data)
{
$("#modal-afc-static > div > div > div.modal-body > div.input-group.date").html(data);
$("#modal-afc-static > div > div > div.modal-footer > button.btn.btn-default.calc").children().detach();
$("#modal-afc-static > div > div > div.modal-header > button.close").attr({"disabled":""});
$("#modal-afc-static > div > div > div.modal-footer > button.btn.btn-default.cancel").text("Close");
$("#modal-afc-static > div > div > div.modal-footer > button.btn.btn-default.cancel").attr({"disabled":""});
}
答案 0 :(得分:2)
您应该删除disabled
属性,而不是提供其“/”任何其他值。即使您为其提供空白值,按钮仍将保持禁用状态。浏览器只检查是否存在disabled
属性。 Fiddle展示disabled
属性的正确值。
您可以使用jQuery removeAttr方法
$("#modal-afc-static > div > div > div.modal-footer > button.btn.btn-default.cancel").removeAttr("disabled");
$("#modal-afc-static > div > div > div.modal-header > button.close").removeAttr("disabled")