---
title: "Stänga pop-up OCH uppdatera grundsida, samtidigt?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/171181-stänga-pop-up-och-uppdatera-grundsida-samtidigt"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Guldstrand"
published: "2008-04-30T19:48:14.000Z"
updated: "2008-05-02T13:18:40.000Z"
replies: 25
views: 1088
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/171181-stänga-pop-up-och-uppdatera-grundsida-samtidigt"
---

# Stänga pop-up OCH uppdatera grundsida, samtidigt?

_Sida 1 av 2._

## #1 — Guldstrand, 2008-04-30T19:48Z

Jag har ett pop-up fönster där man fyller i ett formulär som sedan ska postas/sparas i mysql.

Frågan är, hur stänger jag pop-up fönstret OCH uppdaterar grundsidan (parent) samtidigt, när man klickar på submit-knappen?

Använder följande kod till pop-up fönstret:

```
<script>
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>

<a href="javascript:NyttAmne()">Nytt ämne</a>
```

Permalänk: https://www.webforum.nu/p/171181

## #2 — Fredde Mannen, 2008-04-30T19:57Z

Beror på hur grundsidan hämtar datan.. 

Men annars kan du köra en:

```
window.opener.location = 'sidan.php';
```

 har jag för mig. :)

Permalänk: https://www.webforum.nu/p/2104258

## #3 — Guldstrand, 2008-04-30T20:23Z

> **Fredde Mannen skrev:**
>
> Beror på hur grundsidan hämtar datan.. 
> 
> Men annars kan du köra en:
>
> ```
> window.opener.location = 'sidan.php';
> ```
>
>  har jag för mig. :)

Nu förstår jag inte riktigt.   :r 
Var ska jag ange den koden?

Permalänk: https://www.webforum.nu/p/2104265

## #4 — Fredde Mannen, 2008-04-30T20:28Z

> Frågan är, hur stänger jag pop-up fönstret OCH uppdaterar grundsidan (parent) samtidigt, när man klickar på submit-knappen?

Ex. på hur vi kan i popupen posta ett formulär och stänga fönstret och uppdatera det fnster som anropade popupen. Här har jag använt button med en onclick-event.

```
<script type="text/javascript">
function SubmitForm() { 
 document.forms[0].submit();
 window.opener.location = 'tackar.php';
 self.close();
}
</script>
<input type="button" onclick="SubmitForm();">
```

Permalänk: https://www.webforum.nu/p/2104268

## #5 — Guldstrand, 2008-04-30T20:35Z

> **Fredde Mannen skrev:**
>
> Ex. på hur vi kan i popupen posta ett formulär och stänga fönstret och uppdatera det fnster som anropade popupen. Här har jag använt button med en onclick-event.
>
>
> ```
> <script type="text/javascript">
> function SubmitForm() { 
>  document.forms[0].submit();
>  window.opener.location = 'tackar.php';
>  self.close();
> }
> </script>
> <input type="button" onclick="SubmitForm();">
> ```

Jag lade till koden ovan i pop-up fönstret, men det hjälpte inte.
(Fönstret stängdes alltså inte.)

Tänker jag fel?   :l

Permalänk: https://www.webforum.nu/p/2104271

## #6 — Guldstrand, 2008-05-01T13:12Z

Någon annan som vet?

Permalänk: https://www.webforum.nu/p/2104389

## #7 — Fredde Mannen, 2008-05-01T13:36Z

Kort exempel: 

test.htm

```
<html><head><title>Test</title>

<script type="text/javascript">
	function popup(url) {
		window.open(url,'fnster','width=400, height=400');
	}

</script>

</head><body>
<a href="javascript:popup('testa.htm');">test</a>
</body></html>
```

testa.htm

```
<html><head><title>Test</title>

<script type="text/javascript">
	function SubmitForm() {
		document.forms[0].submit();
		window.opener.location = 'http://www.google.se/';
		self.close();
	}
</script>
</head><body>
<form action="testa.htm">
	<input type="button" value="Spara" onclick="SubmitForm();" />
</form>
</body></html>
```

Den ena öppnar en popup, sidan i popupen gör en postning till sig själv, för att sedan uppdatera sidan som anropade popupen, för att sedan stänga sig själv!

Permalänk: https://www.webforum.nu/p/2104395

## #8 — Guldstrand, 2008-05-01T14:13Z

Lade till:

```
<script type="text/javascript">
	function SubmitForm() {
		document.forms[0].submit();
		window.opener.location = 'forum.php';
		self.close();
	}
</script>
```

```
onclick="SubmitForm();"
```

..i pop-up fönstret (posta_amne.php)

Men varken pop-up fönstret stängdes, eller sidan som anropade pop-up:en (forum.php) uppdaterades.

Permalänk: https://www.webforum.nu/p/2104415

## #9 — stattin, 2008-05-01T14:55Z

mysko.. hur ser din form ut?

Permalänk: https://www.webforum.nu/p/2104426

## #10 — Guldstrand, 2008-05-01T14:56Z

> **stattin skrev:**
>
> mysko.. hur ser din form ut?

```
<form method="post" action="posta_amne.php" id="commentform">
<small>Ämne:</small><br />
<input type="text" name="amne" id="amne" size="50" /><br />
<small>
<script type="text/javascript">
displaylimit("","amne",50)
</script>
</small>
<br /><br />

<small>Inlägg:</small><br />
<textarea name="text" id="text" cols="50" rows="10"></textarea><br />
<small>
<script type="text/javascript">
displaylimit("","text",255)
</script>
</small>
<br /><br />

<table width="90%" border="0">
  <tr>
    <td><small>Ditt namn:</small><br />
<input type="text" name="av" id="av" size="30" /></td>
    <td><small>Från:</small><br />
<input type="text" name="fran" id="fran" size="30" /></td>
  </tr>
  <tr>
    <td><small>E-postadress:</small><br />
<input type="text" name="epost" id="epost" size="30" /></td>
    <td><small>Ange följande kod:</small><br />
<img src="randomimage.php" alt="" class="left" />
<input type="text" name="imagecode" id="imagecode" size="4" title="obligatoriskt" /></td>
  </tr>
  <tr>
    <td colspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td colspan="2"><div align="center">
      <input name="submit" type="submit" class="f_button" value="posta svar" onclick="SubmitForm();" />
    </div></td>
  </tr>
</table>

</form>
```

Permalänk: https://www.webforum.nu/p/2104427

## #11 — stattin, 2008-05-01T15:04Z

hmm.. jag vet inte, kanske har det att göra med att du har type="submit" och dessutom postas formuläret från funktionen SubmitForm() också, kanske type="button" löser det. Det tråkiga då är att möjligheten trycka enter försvninner. Men just nu måste du ju se om det funkar att stänga ett fönster osv..

Permalänk: https://www.webforum.nu/p/2104429

## #12 — Guldstrand, 2008-05-01T15:08Z

> **stattin skrev:**
>
> hmm.. jag vet inte, kanske har det att göra med att du har type="submit" och dessutom postas formuläret från funktionen SubmitForm() också, kanske type="button" löser det. Det tråkiga då är att möjligheten trycka enter försvninner. Men just nu måste du ju se om det funkar att stänga ett fönster osv..

Hmm.. om jag ändrar från "submit" till "button", hur ska jag då kunna testa om det fungerar, då jag inte kan posta formuläret.  :l

Permalänk: https://www.webforum.nu/p/2104432

## #13 — stattin, 2008-05-01T15:11Z

> **Guldstrand skrev:**
>
> Hmm.. om jag ändrar från "submit" till "button", hur ska jag då kunna testa om det fungerar, då jag inte kan posta formuläret.  :l

Jo eftersom javascriptet postar formuläret åt dig först innan det uppdaterar och stänger.

```

<script type="text/javascript">
	function SubmitForm() {
		[B]document.forms[0].submit();[/B]
		window.opener.location = 'forum.php';
		self.close();
	}
</script>
```

Permalänk: https://www.webforum.nu/p/2104434

## #14 — Fredde Mannen, 2008-05-01T16:29Z

alternativt har du kvar **type="submit"** och sätter i form-taggen
**onsubmit="return SubmitForm();"** och tar bort raden **document.forms\[0\].submit();** från javascriptet.

Permalänk: https://www.webforum.nu/p/2104458

## #15 — stattin, 2008-05-01T16:44Z

tanken med button vara ju bara för att se om

	window.opener.location = 'forum.php';
	self.close();

funkade som det skulle men måste man inte ha return true; också?

Permalänk: https://www.webforum.nu/p/2104467

## #16 — Guldstrand, 2008-05-01T17:11Z

> **Fredde Mannen skrev:**
>
> alternativt har du kvar **type="submit"** och sätter i form-taggen
> **onsubmit="return SubmitForm();"** och tar bort raden **document.forms\[0\].submit();** från javascriptet.

Nu stängs fönstret, samt sidan uppdateras... MEN formuläret postas inte.
Alltså, ingen information sparas i mysql, och all validering av input-fält, körs inte.

Permalänk: https://www.webforum.nu/p/2104478

## #17 — yador, 2008-05-01T20:37Z

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?

Permalänk: https://www.webforum.nu/p/2104534

## #18 — stattin, 2008-05-01T20:58Z

men när väl submit körs så kommer man ju till en annan sida? Du får nog köra stängningen efter att du postat datan. 

edit/ eller nej det gjorde man ju inte men skriv ut self.close() med echo i php scriptet.. eller har php nån funktion för att stänga fönster?

Permalänk: https://www.webforum.nu/p/2104538

## #19 — colione, 2008-05-01T21:25Z

Det är ju sjukt mycket intelligentare att 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. Då slipper man bry sitt huvud med om man ska submitta eller stänga sidan först. Olika läsare lär ju ha olika implementationer om de ska exekvera nån mer kod efter att den har submittat/stängt fönstret.

Permalänk: https://www.webforum.nu/p/2104543

## #20 — Guldstrand, 2008-05-02T03:48Z

Hmm...
Med andra ord, vad ska jag göra?

Permalänk: https://www.webforum.nu/p/2104568

---

Tråden på webben: https://www.webforum.nu/amne/javascript/171181-stänga-pop-up-och-uppdatera-grundsida-samtidigt  
Nästa sida: https://www.webforum.nu/amne/javascript/171181-stänga-pop-up-och-uppdatera-grundsida-samtidigt/page2.md
