Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 页面在jQuery对话框关闭之前刷新_Javascript_Jquery_Jquery Ui Dialog - Fatal编程技术网

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

Javascript 页面在jQuery对话框关闭之前刷新,javascript,jquery,jquery-ui-dialog,Javascript,Jquery,Jquery Ui Dialog,我创建了一个函数,将窗口.alert函数替换为我自己使用jquery.dialog的函数。问题是,在某些函数中,我调用该函数,然后立即重新加载页面。它应该在用户单击“OK”时刷新,但在我单击“OK”之前,它会自动重新加载页面 下面是函数中调用序列的示例: function UpdateCertSucccess(result) { customAlert("Hello World"); window.location.href = "./SomePage.aspx"; } 下面是我定义的cust

我创建了一个函数,将
窗口.alert
函数替换为我自己使用
jquery.dialog
的函数。问题是,在某些函数中,我调用该函数,然后立即重新加载页面。它应该在用户单击“OK”时刷新,但在我单击“OK”之前,它会自动重新加载页面

下面是函数中调用序列的示例:

function UpdateCertSucccess(result) {
customAlert("Hello World");
window.location.href = "./SomePage.aspx";
}
下面是我定义的
customAlert()

功能自定义警报(消息){
如果(!isOpen){
$(“#错误消息对话框”)。对话框({
自动打开:false,bgiframe:true,位置:[“中心”,100],模态:true,zIndex:“6000”,标题:“R+L载波消息”,宽度:475,高度:250,
按钮:{
“OK”:函数(){
$(此).dialog(“关闭”);
isOpen=假;
}
}
});
var元素=message.split(“|”);
$('#spMessage').text(元素[0]);
$('#spCode')。文本(元素[1]);
$('#spTime')。文本(元素[2]);
$('#spServer').text(元素[3]);
$(“#错误消息对话框”)。对话框(“打开”);
isOpen=真;
}
否则{
$('#spMessage')。追加(“

”); $('#spMessage')。追加(message); } 返回false;
})

在关闭对话框之前,是什么导致页面重新加载?如何修复?
谢谢

删除'window.location.href=“./SomePage.aspx”从'UpdateCertSuccess()'函数中删除,并在单击确定后将其放置在函数调用中(单击关闭对话框的回调函数时单击确定)

删除'window.location.href=“./SomePage.aspx”从“UpdateCertSuccess()”函数中,并在单击确定后将其放置在函数调用中(单击关闭对话框的回调函数),只有浏览器弹出窗口(警报、确认…)可以暂停函数的执行。您自己无法实现相同的效果,因此您需要改进代码,添加“onclose”回调选项或其他内容。

只有浏览器弹出窗口(警报、确认…)可以暂停函数的执行。您自己无法实现相同的效果,因此您需要改进代码,添加“onclose”回调选项或其他内容。

一个问题是,真正的警报实际上会在显示时阻止脚本执行。像你这样的对话是做不到的。您可以通过在整个窗口上放置透明的
或其他东西来阻止与底层页面的交互,这样用户事件就无法通过。一个问题是,真正的警报实际上会在显示脚本时阻止脚本执行。像你这样的对话是做不到的。您可以通过在整个窗口上放置透明的
或其他东西来阻止与底层页面的交互,这样用户事件就无法通过。
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;