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吗?