在jQuery对话框关闭之前页面刷新

时间:2012-02-03 13:28:27

标签: javascript jquery jquery-ui-dialog

我创建了一个函数,用我自己的使用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;

};

关闭对话框之前可能导致页面重新加载的原因是什么?我该如何解决? 谢谢!

2 个答案:

答案 0 :(得分:2)

删除'window.location.href =“./ SomePage.aspx”;'来自'UpdateCertSucccess()'函数并在Ok单击后将其置于函数调用中(ok单击回调函数,关闭对话框)

答案 1 :(得分:2)

只有浏览器弹出窗口(alert,confirm ...)才能暂停执行某项功能。您自己无法达到同样的效果,因此您需要改进代码,添加“onclose”回调选项等。