2015-02-10 5 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(); –

ответ

2

Если вы делаете это из кода в «диалоге» с помощью

window.close(); 

... в ответ на пользовательское событие (например, нажатием на кнопку).

Если вы делаете это из кода страницы, открыл диалог, использовать pag_aperta вместо:

pag_aperta.close(); 

(Вам нужно убедиться, что переменная разделяет между функциями, которые используют это.)

0

если я правильно понял: Вы не хотите закрывать открытое окно, хранящееся в переменной «pag_aperta». попробовать это:

pag_aperta.close(); 

Надеется, что это помогает

Смежные вопросы