yador skrev:
Kan du prova att byta ut:
<script type="text/javascript">
function SubmitForm() {
window.opener.location = 'forum.php';
self.close();
}
</script>
mot:
<script type="text/javascript">
function SubmitForm() {
window.opener.location = 'forum.php';
setTimeout("self.close()",3000); //vänta 3 sekunder innan self.close() körs
return true;
}
</script>
Problemet är säkert att all javascript kod ska köras först och pga att fönstret stängs när raden self.close(); körs så hinner aldrig formuläret postas. Men kan du inte lägga in att sidan ska stängas när man har kommit till posta_amne.php?
Testade detta, men sidan som anropar pop-up:en, uppdaterades några sekunder innan formuläret kördes klart.
Pop-up:en stängdes dock INTE.
Sidan som anropar pop-up:en, heter forum.php. Pop-up:en heter posta_amne.php.
CcolioneMedlem sedan juni 20014 421 inlägg Precis det jag skriver ska du göra:
colione skrev:
uppdatera window.opener, sedan submita datan för att sedan på sidan som tar emot datan spotta ut javascriptet för att stänga sidan
colione skrev:
Precis det jag skriver ska du göra:
colione skrev:
uppdatera window.opener, sedan submita datan för att sedan på sidan som tar emot datan spotta ut javascriptet för att stänga sidan
Alternativt, posta datan, uppdatera window.opener, i sidan som tog i mot postningen har man satt en body med onload="self.close()" .. window.opener måste ju uppdateras efter submiten, om man skall se någon skillnad. :)
Förstår tyvärr inte riktigt.
Posta gärna en komplett kod, samt på vilken sida den ska infogas.
*börjar snurra riktigt i skallen*
Jag använder följande kod på forum.php för att anropa pop-up:en.
<script type="text/javascript">
function NyttAmne(){
myleft=(screen.width)?(screen.width-500)/2:100;mytop=(screen.height)?(screen.height-500)/2:100;
settings='top=' + mytop + ',left=' + myleft + ',width=500,height=500,location=no,directories=no,menubar=no,toolbar=no,status=no,scrollbars=no,resizable=no,fullscreen=no'
PopupWin=window.open('posta_amne.php','PopupWin', settings);
PopupWin.focus();}
</script>
EDIT: Jag lade till...
die( "<script>window.opener.location.reload();window.close();</script>");
..efter all input till mysql (i pop-up:en). Nu verkar det fungera som det ska.
Är detta ett bra sätt att göra detta på?
Okei kort och gott.
1 ) forum.php öppnar posta_amne.php i en popup (forum.php fönstret är window.opener)
2 ) Du gör en postning via ett forumlär i popupfönstret till någon sida: i detta till sig själv (posta_amne.php)
3 ) efter postningen är gjord. Så kan man köra ex.
// phpkod för att lägga in data i ex. databas eller något annat.
// när det är utfört, så kan man skriva ut:
echo "<body onload=\"window.opener.location='forum.php';self.close();\"></body>";
Tror det skall funka.. :)
Fredde Mannen skrev:
Okei kort och gott.
1 ) forum.php öppnar posta_amne.php i en popup (forum.php fönstret är window.opener)
2 ) Du gör en postning via ett forumlär i popupfönstret till någon sida: i detta till sig själv (posta_amne.php)
3 ) efter postningen är gjord. Så kan man köra ex.
// phpkod för att lägga in data i ex. databas eller något annat.
// när det är utfört, så kan man skriva ut:
echo "<body onload=\"window.opener.location='forum.php';self.close();\"></body>";
Tror det skall funka.. :)
Ok.. nu förstår jag LITE bättre. :e
Men gör inte denna kod samma sak:
die( "<script>window.opener.location.reload();window.close();</script>");