window.close

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
ciao a tutti
per chiudere una finestra del bw utilizzo:

<a href="javascript:" onclick="window.close();" class="chiudi">Chiudi</a>
cioè cliccando su chiudi chiudo.

vorrei sapere se è possibile fare la cosa in automatici senza cliccare, in altre parole ho un form di modifica che si apre target="_blank"
vorrei sapere se esite qualcosa per fare

if submit{
vari $_POST.....

$qeury=UPDATE.......

if(mysql_query($query)){//modifica ok
CHIUSURA DELLA FINESTRA IN 0 sec senza dover cliccare
}else{//modifica ko
messaggio errore
CHIUSURA FINESTRA IN tot sec senza dovr cliccare
}
}
 
Ciao,

Sì puoi farlo ma non in PHP.
Tu processi la tua pagina con il PHP ma la chiusura della finestra la devi fare con JS! Mi spiego meglio:

Se non ho capito male tu hai un form che punta su un file PHP per fare una insert di dati.

Al submit il form lancia il tuo script PHP che fa le varie operazioni lato server.

Finite queste operazioni stampi a video un output in cui ci butti dentro due righe di JS che chiudono la finestra (puoi, ad esempio, lanciare una funzione temporizzata di chiusura associandola all'evento onload della pagina).

Spero di esserti stato di aiuto,
Ciao
 
ciao
intanto grazie per la risposta, immagnavo che dovevo farlo con qul c...a di js (mi sta solennemente sulle scatole).
comunque il problema non era proprio così
ho una lista di record da modificare* (appare solo il titolo) e vicino il classico link <a href="modifica.php?id=pinco" target="_blank">M</a>
in modifica.php ho il form (in cui appaiono tutti i dati del record) e, nella stessa pagina lo script di uppaggio., quello che vorrei che dopo le modifiche ed il submit la finestra si chiudesse in automatico senza dover fare un nuovo click su chiudi


*paginati secondo un tuo script
 
non sono un esperto di Js, anche a me sta sulle scatole, ma dovrebbe bastarti mettere qualcosa del genere dopo l'update:
<script type="text/javascript">
window.onload=function() {
window.close();
}
</script>
Se sbaglio mi corriggete
 
ciao
infatti ho fatto quasi così (per il tempo di attesa vedremo)

PHP:
//righe di up
?>
<script type="text/javascript">
<!--
window.close();
//-->
</script> 
<?php
}//fine if up
?>

ha solo un piccolo problema con fire tutto ok, con ie appare alert che mi diche "stai cercando di chiudere... confermi SI NO", ma va bene lo stesso
 
purtroppo se la finestra principale aperta dall'utente riceve un ordine di chiusura (che cioè comporta la chiusura del browser), l'alert compare sempre. Per questo motivo spesso questo tipo di comportamenti vengono passati ai popup.
 
ciao
per gli imbranati come me ecco come ho risolto

PHP:
<?php
if(isset($_POST['submit'])){
	$quando=$_POST['prova'];
	/*tutto il codice che serve*/
	if($quando=="S"){//da sostituire con uppato ok
?>
	<script type="text/javascript">
	<!--
		window.close();
	//-->
	</script>
<?php

	}else{
		echo "sono in attesa";
?>
	<script type="text/javascript">
	<!--
		window.setTimeout("window.close()", 3000);
	//-->
	</script>
<?php
	}
}
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" name="formP">
  <p>subito
    <input name="prova" type="radio" value="S">
dopo 3 sec
<input name="prova" type="radio" value="D"> 
</p>
  <p>
    <input type="submit" name="submit" value="Invia">
</p>
</form>
 

Discussioni simili