2013-02-22 100 views
0

我使用下面的代码在函数返回成功消息时打开一个新窗口。同时我想关闭自我窗口。现在正在错误:使用javascript在aspx中打开窗口

newwindow is not defined

var value = getQueryStrings(); 
var cust_id = value["cust_id"]; 
try { 

    PageMethods.add_plan_items(unescape(items), cust_id, device, OnGetMessageSuccess, OnGetMessageFailure); 

} catch (ex) { 
    alert(ex); 
} 

function OnGetMessageSuccess(result, userContext, methodName) { 
    try { 
     var ret_array = result.toString().split(':'); 
     if (ret_array[0] == "Success Alert ") { 

      var left = (screen.width/2) - 1015/2; 
      var top = (screen.height/2) - 550/2; 

      self.close(); //Close the opened window 

      //Enter here and self window is closed 

      var newwindow = window.open('test.aspx?id=Y&cust_id=' + cust_id, 'Add Items', 'height=550,width=1000,toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,left=' + left + ', top=' + top + ',screenX=' + left + ',screenY=' + top + ''); 
      if (window.focus) { 
       newwindow.focus() 
      } 
      return false; 
     } else { 
      self.close(); //Close the opened window 
      alert('Error Alert : Error for adding plans in your specified device. Please try again later!'); 
     } 

    } catch (ex) { 
     alert(ex); 
    } 

} 

function OnGetMessageFailure(error, userContext, methodName) { 
    alert(error.get_message()); 
} 
+0

打开子窗口后关闭父项。 – nsthethunderbolt 2013-02-22 07:10:29

回答

0

不要闭上你的父窗口第一
保存父窗口,然后打开您的子窗口(新窗口),然后关闭你的父窗口

var parentWindow = self.window; 
var newWindow = window.open(...); 

parentWindow.close(); 
+0

现在我得到一个错误newWindow为空。 – user1951007 2013-02-22 07:10:05

+0

你原来的代码中的'newwindow'很小,在我的代码中w是大写的。更改 – asifsid88 2013-02-22 07:11:57

+0

感谢您的回复。现在我改变newwindow而不是newWindow。但是我遇到了一个新的错误控件,必须在页面的控件树中。 – user1951007 2013-02-22 07:41:20