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;