Javascript 有时不关闭的弹出窗口
如果发生验证错误,在本例中,我使用“销毁”、“关闭”和“清空”来关闭对话框。但是,当出现任何错误(如验证或后端错误)时,该对话框在修复后不会关闭。我需要重新运行程序以关闭它。这种错误只是偶尔出现Javascript 有时不关闭的弹出窗口,javascript,jquery,html,jquery-ui,Javascript,Jquery,Html,Jquery Ui,如果发生验证错误,在本例中,我使用“销毁”、“关闭”和“清空”来关闭对话框。但是,当出现任何错误(如验证或后端错误)时,该对话框在修复后不会关闭。我需要重新运行程序以关闭它。这种错误只是偶尔出现 function Update() { var txtvalid=validateData(); if(txtvalid) { $.ajax({ type : 'post', url : 'controller/Save.html', data
function Update()
{
var txtvalid=validateData();
if(txtvalid)
{
$.ajax({
type : 'post',
url : 'controller/Save.html',
data : $("#formView").serialize(),
success : function(json)
{
var obj = JSON.parse(json);
if(obj == "Expired")
{
$('#dboxView').dialog("close");
$.ajax({
type : 'POST',
url : "ConfirmExpired.html",
data : {testData : obj},
success : function(js)
{
window.location="Expired.html";
},
error: function (e)
{
$.msgBox({
title : "ERROR",
type : "error",
content : "Connection error"
});
}
});
}
else if(obj.substring(0,1)=="1")
{
var data=obj.substring(1);
$.msgBox({
title : "Error Message",
type : "error",
content : data
});
}
else
{
$.msgBox({
title : "Message",
type : "info",
content : obj
});
window.refreshDataTable();
//**********************************************************************
$('#dboxView').dialog("close");
$('.view-Brnch-content').empty();
$('#dboxView').dialog("destroy");
//**********************************************************************
}
},
error : function(e)
{
$.msgBox({
title : "Error",
type : "error",
content : "Error in calling function"
});
}
});
}
}
对close/destroy方法的调用仅在特定条件下运行,因为它们位于“if”块内。如果希望它们在其他条件下运行,那么还需要将这些行复制到代码的其他区域。仅此而已,这不是问题所在。即使它到达另一部分,即;成功使对话框不关闭。空函数工作得很好,这是一个愚蠢的问题,但dboxView肯定是对话框元素的ID吗?如果那条线路肯定在运行,那么我想不出其他原因了。除非之前发生了脚本错误,停止了JS代码的执行。那一刻你检查过你的控制台有没有错误吗?没有,当我在每行之后发出警报时,警报工作了,但是弹出的容器仍然存在。这不仅仅是一个特定页面的问题,而是所有弹出页面的问题,只是偶尔会出现一些验证错误。没有任何图案它必须有某种图案。计算机不是随机的。我们只是还没有找到模式。。。您没有回答我的问题-是否“dboxView”是此页面中对话框元素的id?您对close/destroy方法的调用仅在特定条件下运行,因为它们位于“if”块内。如果希望它们在其他条件下运行,那么还需要将这些行复制到代码的其他区域。仅此而已,这不是问题所在。即使它到达另一部分,即;成功使对话框不关闭。空函数工作得很好,这是一个愚蠢的问题,但dboxView肯定是对话框元素的ID吗?如果那条线路肯定在运行,那么我想不出其他原因了。除非之前发生了脚本错误,停止了JS代码的执行。那一刻你检查过你的控制台有没有错误吗?没有,当我在每行之后发出警报时,警报工作了,但是弹出的容器仍然存在。这不仅仅是一个特定页面的问题,而是所有弹出页面的问题,只是偶尔会出现一些验证错误。没有任何图案它必须有某种图案。计算机不是随机的。我们只是还没有找到模式。。。您没有回答我的问题,“dboxView”是这个页面中对话框元素的id吗?