- Home
- Categorie
- Coding e Sistemistica
- PHP
- Richiamare la pagina alla chiusura di un POPUP
-
Richiamare la pagina alla chiusura di un POPUP
Ciao, ragazzi.
Noella pagina "effettua ordine" del mio sito, l'utente ha la possibilità di modificare i dati di fatturazione e di spedizione.
Queste modifiche vengono fatte mediante dei forms, richiamati con 2 pulsanti, e visualizzati con finestre popup.In queste finestre popup, una volta modificati i campi, si clicca sul pulsante "modifica dati" per avviare la query di modifica.
Adesso, però, una volta cliccato questo pulsante, compare un semplice messaggio (alert).Io vorrei inserire invece una funzione che
a) chiude la finestra popup;
b) richiama la pagina precedente (effettua ordine), e ne effettua il refresh, in modo che vengano visualizzati i dati aggiornati.E' possibile fare ciò?
-
io, per refreshare la pagina che apre il popup, uso
<body onunload="Javascript:window.opener.location.reload();">mentre per chiudere window.close();
io lo uso come link ma credo tu lo possa mettere anche onload
-
Ho provato, ma non sono riuscito ad utilizzare il tuo script.
Saresti così gentile da spiegarmi come utilizzarlo?Grazie per la pazienza.
-
allora
dalla pagina "madre" apri il popup con un js tipo
window.open (url , nome , "width=500,height=600,resizeable=no,scrollbars=yes");dopodichè dentro l'html del popup metti
<body onunload="javascript:window.opener.location.reload ();">l'effetto è che quando chiudi il popup la pagina che l'ha aperto viene reloadata.
Altrimenti prova a postare il codice..
-
Ok, ci sono quasi
Allora, ho inserito questo:
<body onunload="javascript:window.opener.location.reload ();">
subito dopo </head>, nella finestra popup.
Poi, all'interno della query che aggiorna i dati del form nel popup, ho inserito la funzione javascript che dovrebbe chiudere il popup:if($action == "mod"){ $query = "UPDATE utenti SET ...... dati.... echo "<script language=\"JavaScript\" type=\"text/javascript\">'window.close()';</script>"; }
Adesso, ottengo che, non appena clicco sul pulsante modifica, viene riaggiornata la pagina che genera il popup, vengono correttamente aggiornati i dati nel database, ma il popup non si chiude.
Se lo chiudo manualmente, viene nuovamente refreshata la pagina che lo ha generato.Idee?
-
non ne sono sicuro perchè non ho mai provato
prova a mettere window.close() così
<img src="immaginebianca.gif" onload="Javascript:window.close();">
e questa immagine la metti dentro la pagina..un pò macchinoso e sicuramente non perfetto
altrimenti prova a chiedere nel forum di js, loro ne sapranno sicuramente di più!
-
Ho risolto facendo in questo modo:
<body onUnload="javascript:window.opener.location.reload (); window.close();">
Grazie per l'interessamento
-
Ciao a tutti,
anche io devo fare una cosa del genere, non in php ma in ASP, ma non credo sia fondamentale questo particolare. In dettaglio attraverso un link che apre la finestra popup devo cancellare un file e aggiornare la relativa tabella.Ho cercato di seguire le indicazioni di questo post ma senza esito positivo
Ecco come ho utilizzato il codice:nella Pagina madre ho inserito un semplice javascript per aprire la finestra popup:
[php]
<script type="text/javascript">
<!--
var stile = "top=10, left=10, width=250, height=200, status=no, menubar=no, toolbar=no scrollbar=no";
function Popup(apri) {
window.open(apri, "", stile);
}
//-->
</script>
[/php]sempre nella pagina madre ho quindi il link per aprire la finestra popup dove passo il percorso del file da cancellare e l'id del record da aggiornare, in questo modo:
[php]
<a href="javascript:Popup('cancella_immagine.asp?path=<%=fpath%>&id=<%=valueID%>')"><img src="img/icons/delete.png" alt="elimina" width="16" height="16" title="elimina"/></a> Elimina
[/php]poi nella finestra popup l'ho così strutturata, avrei necessità di chiedere una conferma prima di cancellare il tutto, ho fatto in questo modo:[php]
<%
'recupero il nome del file da cancellare e id
strFile = Trim(Request.QueryString("path"))
newsID = Trim(Request.QueryString("id"))
%><body onUnload="javascript:window.opener.location.reload (); window.close();">
<table class="listing fluid" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<th width="100%" height="30" class="formLabel">Eliminazione File</th>
</tr>
<%
if op = "" then
%>
<tr class="row1">
<td height="40" align="center">Confermare eliminazione file immagine: <a href="cancella_immagine.asp?path=<%=strFile%>&id=<%=newsID%>&op=ed">sì</a> no</td>
</tr>
<%
else'cancello l'immagine
strFilePath = strFile
Set objFso = Server.CreateObject("Scripting.FileSystemObject")
if objFso.FileExists(strFilePath) then
objFSO.DeleteFile(strFilePath)'cancello
end if
Set objFso = Nothing
'aggiorno la tabella
Set objRS = Server.CreateObject("ADODB.Recordset")
strSQL= "UPDATE " &strDbTable& "news SET n_img = "" WHERE id_news = " & newsID & ";"
objRS.Open strSQL, DFCon, 3, 3
Set objRS = Nothing%>
<tr class="row1">
<td height="40" align="center">Eliminazione avvenuta con successo.</td>
</tr>
<%
end if
%>
</tbody>
</table>
</body>[/php]solo che in questo modo quando clicco su 'SI' per dare l'ultima conferma la popup si chiude e la pagina madre si aggiorna, correttamente, ma senza aver eseguito il codice di eliminazione
Dove sbaglio?
Vi ringrazio per l'aiuto
Elisa