我创建了一个函数,用我自己的使用window.alert
的函数替换jquery.dialog
函数。问题是在某些函数中我调用该函数并在之后重新加载页面。当用户点击“确定”时,它应该刷新它,但是在我点击“确定”之前它会自动重新加载页面。
以下是函数中调用序列的示例:
function UpdateCertSucccess(result) {
customAlert("Hello World");
window.location.href = "./SomePage.aspx";
}
这是我定义的customAlert()
function customAlert(message) {
if (!isOpen) {
$('#error-message-dialog').dialog({
autoOpen: false, bgiframe: true, position: ['center', 100], modal: true, zIndex: '6000', title: 'R+L Carriers Message', width: 475, height: 250,
buttons: {
"OK": function () {
$(this).dialog("close");
isOpen = false;
}
}
});
var elements = message.split("|");
$('#spMessage').text(elements[0]);
$('#spCode').text(elements[1]);
$('#spTime').text(elements[2]);
$('#spServer').text(elements[3]);
$('#error-message-dialog').dialog('open');
isOpen = true;
}
else {
$('#spMessage').append("<br /><br />");
$('#spMessage').append(message);
}
return false;
};
关闭对话框之前可能导致页面重新加载的原因是什么?我该如何解决? 谢谢!
答案 0 :(得分:2)
删除'window.location.href =“./ SomePage.aspx”;'来自'UpdateCertSucccess()'函数并在Ok单击后将其置于函数调用中(ok单击回调函数,关闭对话框)
答案 1 :(得分:2)
只有浏览器弹出窗口(alert,confirm ...)才能暂停执行某项功能。您自己无法达到同样的效果,因此您需要改进代码,添加“onclose”回调选项等。