2015-02-10 51 views
-1

我很新的JavaScript,我有以下問題。如何使用JavaScript關閉此對話窗口?

在JSP頁面中我將其稱爲打開對話框窗口(有點像彈出)的JavaScript函數調用這個JavaScript函數:

pag_aperta = window.open(pagina, 'popUp_', DialParam); 

其中pagina是一個包含名稱的變量必須顯示在對話框中的JSP頁面。

所以這是JSP頁面的內容顯示到我的對話框(它的工作原理和此頁正確顯示在對話框中):

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> 
<% 
    // Per non far fare il caching... 
    response.setHeader("pragma", "no-cache"); 
    response.setHeader("Expires", "0"); 
    response.setHeader("Cache-Control", "no-cache"); 
%> 
<html> 

    <head> 
     <title><fmt:message key="titolo" /></title> 
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
     <link rel="stylesheet" href="css/font.css"> 
     <link rel="stylesheet" href="css/seldoc.css"> 

     <script language="JavaScript" src="script.js"></script> 
     <script type="text/javascript" src="js/tables.js"></script> 
    </head> 

    <script> 
     function gotoFrame(link){ 
      self.frames['change'].location.href = link; 
      return; 
     } 
    </script> 

    <body> 

     <br/> 
     <div class="blueheader16"> 
      <fmt:message key="vis_fatt_multiple_img" /> 
     </div> 
     <br/> 

     <table style="width:100%" cellpadding="0" cellspacing="0"> 
      <tr> 
       <td> 
        <table class="table-cls" ID="Tabella2" style="width: 100%"> 
         <tbody> 
         <tr><!--javascript:document.location.href='edi.do?serv=I.3'--> 
          <td style="text-align: center; border-bottom: 0;"> 
           <iframe name="change" src="about:blank" style="text-align: center; width: 100%; height: 380px;" frameborder="0"></iframe> 
          </td> 
         </tr> 
         <tr> 
          <td style="text-align: center"> 
           <!-- TASTO CHIUDI per chiudere la dialog: --> 
           <input style="color: #FFFFFF; font: bold 10px tahoma,arial,helvetica,sans-serif" class="bottone" readonly="readonly" type="button" value=CLOSE" onclick="javascript: history.go(-1);"> 
          </td> 
         </tr> 

         </tbody> 
        </table> 
       </td> 
      </tr> 
     </table> 

     <script type="text/javascript"> 
      gotoFrame('edi.do?serv=I.5&pk=<%=(String)request.getAttribute("pk")%>'); 
     </script> 

    </body> 
</html> 

正如你可以看到這個頁面包含一個按鈕來關閉對話框,這一個:

<input style="color: #FFFFFF; font: bold 10px tahoma,arial,helvetica,sans-serif" class="bottone" readonly="readonly" type="button" value=CLOSE" onclick="javascript: history.go(-1);"> 

要,因爲從我的理解它把用戶帶到前一個頁面關閉它使用JavaScript函數history.go(-1)不工作的對話框(如果存在)而不是關閉。

如何關閉我的對話框?

+4

嘗試使用pag_aperta.close(); – 2015-02-10 13:43:52

回答

2

如果你從代碼中做「對話」,以響應用戶事件(如在點擊一個按鈕)使用

window.close(); 

...。

如果你從代碼在打開該對話框中的頁面做的,用pag_aperta代替:

pag_aperta.close(); 

(你需要確保變量使用該功能共享它)。

0

如果我理解正確: 你不會關閉存儲在變量「pag_aperta」中的打開的窗口。 試試這個:

pag_aperta.close(); 

希望它可以幫助