---
title: "Ladda ner data från popup med formulär"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/165269-ladda-ner-data-från-popup-med-formulär"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "addeweb"
published: "2007-10-08T20:03:32.000Z"
updated: "2007-10-10T19:04:18.000Z"
replies: 9
views: 554
page: 1
pages: 1
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/165269-ladda-ner-data-från-popup-med-formulär"
---

# Ladda ner data från popup med formulär

## #1 — addeweb, 2007-10-08T20:03Z

Jag vet inte om jag har missat något. Har gjort iordning en sida i en popup-fönster och som innehåller 2 olika selectboxar. Jag ska kunna välja i den ena boxen eller båda boxarna för att sedan infoga uppgifterna från boxarna ner till sidan som popup-fönstret laddats från. Formuläret på sidan som tar emot uppgifterna från popup-fönstrets formulär till sina två textfält får inte dessa fält ifyllda. Dessa textfält är namngivna som de ska. Har jag missat något? Tacksam för tips.

Popupfönster med sida som innehåller 2 selectboxar:

```
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Välj menyrubrik</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="JavaScript" type="text/javascript">
<!--
function addInfo(o){
	if(!window.opener){
		return 0;
	}
	if(o.elements["s1"].selected){
		window.opener.document.forms["f"].elements["parent"].value = o.elements["s1"].value;
	}
	if(o.elements["s2"].selected){
		window.opener.document.forms["f"].elements["child_of"].value = o.elements["s2"].value;
	}
	self.close();
};
</script>
<script language="JavaScript" type="text/javascript">
<!--
var submenu_mids = new Array();
var submenu_headings = new Array();
submenu_mids[1] = new Array();
submenu_mids[2] = new Array('5', '6', '11');
submenu_mids[3] = new Array();
submenu_mids[4] = new Array();
submenu_headings[1] = new Array();
submenu_headings[2] = new Array('Näringslära', 'Fettförbränning', 'Ordlista A-Ö');
submenu_headings[3] = new Array();
submenu_headings[4] = new Array();

function populate( id, theForm ){
	theForm.s2.options.length = submenu_mids[id].length+1;
	for(i=0; i<submenu_mids[id].length; i++){
		theForm.s2.options[i+1].text = submenu_headings[id][i];
		theForm.s2.options[i+1].value = submenu_mids[id][i];	
	}
}
-->
</script>
</head>
<body id="body_print">
<h3>Välj menyrubrik</h3>

<form name="myform" onsubmit="addInfo(this)">
	<select name="s1" onChange="populate( this.selectedIndex, this.form )">
			<option value="0">Ej valt</option>
		<option value="2">OM MIG</option>
		<option value="3">MAT & TRÄNING</option>
		<option value="21">PERSONLIG TRÄNING</option>
		<option value="4">KONTAKT</option>

	
	</select>
	<select name="s2">
	 	<option>Ej valt</option>
	</select>
	<input type="submit" value="Infoga" />
</form>
<p style="margin-top: 20px; text-align: center"><input type="button" name="close" onclick="window.close();" value="Stäng fönstret!" /></p>
</body>
</html>
```

Sidan som tar emot uppgifterna:

```
<form name="f" action="" method="post">
			<div style="padding: 0 0.3em 0 0">
				<strong>Menyrubrik</strong><br /><input type="text" name="heading" value="Personlig träning" size="20" maxlength="60" />
				<input type="text" name="parent" size="3" maxlength="3" />

				<input type="text" name="child_of" size="3" maxlength="3" />
<input type="button" name="insert" onclick="popupwindow('content_menu_selectbox.php',400,150)" value="..." title="Välj meny" />				<input type="submit" name="save" value="Spara" />
				<input type="button" onclick="document.location.href='/page.php?topid=21&amp;id=21'" value="Avbryt" />			</div>
		</form>
```

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

## #2 — Peter S, 2007-10-08T20:07Z

> **addeweb skrev:**
>
> ```
> o.elements["s1"].selected
> ...
> o.elements["s2"].selected
> ```

Det finns inget attribut "selected". I stället skulle du kunna skriva:

```
.selectedIndex > 0
```

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

## #3 — addeweb, 2007-10-09T12:28Z

Jag har gjort ändringar men det funkar fortfarande inte. Ska det se ut så här? 

```
function addInfo(o){
	if(!window.opener){
		return 0;
	}
	if(o.elements["s1"].selectedIndex > 0){
		window.opener.document.forms["f"].elements["parent"].value = o.elements["s1"].value;
	}
	if(o.elements["s2"].selectedIndex > 0){
		window.opener.document.forms["f"].elements["child_of"].value = o.elements["s2"].value;
	}
	self.close();
};
```

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

## #4 — Peter S, 2007-10-09T13:04Z

selectedIndex \> 0 innebär att om "Ej valt" är vald när formuläret skickas, så visas ej den texten i huvudfönstret. Vill du att det skall visas kan du i stället skriva selectedIndex != -1.

Sedan skall det även stå

```
o.elements["s1"].options[o.elements["s1"].selectedIndex].value
```

...och likdant för "s2".

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

## #5 — addeweb, 2007-10-09T20:46Z

Jag har lagt till de ändringar som du har föreslagit men fortfarande funkar det inte att lägga in värden i formuläret på huvudsidan. Vad är det som jag har missat ta med?
Senaste ändring:

```
<script language="JavaScript" type="text/javascript">
<!--
function addInfo(o){
	if(!window.opener){
		return 0;
	}
	if(o.elements["s1"].selectedIndex > 0){
		window.opener.document.forms["f"].elements["parent"].value = o.elements["s1"].options[o.elements["s1"].selectedIndex].value;
	}
	if(o.elements["s2"].selectedIndex > 0){
		window.opener.document.forms["f"].elements["child_of"].value = o.elements["s2"].options[o.elements["s2"].selectedIndex].value;
	}
	self.close();
};
-->
</script>
```

Formuläret på huvudsidan:

```
<form name="f" action="" method="post">
<div style="padding: 0 0.3em 0 0">
<strong>Menyrubrik</strong><br />
<input type="text" name="heading" value="Priser" size="20" maxlength="60" />
<input type="text" name="parent" size="3" maxlength="3" />
<input type="text" name="child_of" size="3" maxlength="3" />
<input type="button" name="insert" onclick="popupwindow('content_menu_selectbox.php',400,150)" value="..." title="Välj meny" />
<input type="submit" name="save" value="Infoga" />
<input type="button" onclick="document.location.href='/page.php?id=20'" value="Avbryt" />
</div>
</form>
```

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

## #6 — Peter S, 2007-10-10T16:51Z

För mig fungerar det. Men! Någonting som gäckade mig ett bra tag innan jag upptäckte varför, är att du i ditt första inlägg har en påbörjad kommentar överst i det första skriptblocket, men inget avslutande dito. När jag åtgärdade detta fungerade alltsammans. :)

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

## #7 — addeweb, 2007-10-10T18:14Z

Jag har också lagt märke till att jag glömt ta med slutkommentar i mitt första inlägg och lagt till den  i efterhand men ändå fungerar inte den som den ska. Det måste vara något som fortfarande fattas. Konstigt!

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

## #8 — Peter S, 2007-10-10T18:15Z

Jag kan lägga upp ett exempel här på wF. Ett ögonblick...

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

## #9 — Peter S, 2007-10-10T18:17Z

<http://member.webforum.nu/4685/addeweb.html>

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

## #10 — addeweb, 2007-10-10T19:04Z

Jag har jämfört min källkod med exemplets källkod och hittat felet. Det var value-attributet med värdet 0 i den andra select-satsen (s2) och som inte skulle vara med. Attributet togs bort och sedan var det klart. Tack för hjälpen!!

```
<form name="myform" onsubmit="addInfo(this)">
	<select name="s1" onchange="populate( this.selectedIndex, this.form )">
			<option value="0">Ej valt</option>
		<option value="2">OM MIG</option>
		<option value="3">MAT & TRÄNING</option>
		<option value="21">PERSONLIG TRÄNING</option>
		<option value="4">KONTAKT</option>

	
	</select>
	<select name="s2">
	 	<option value="0">Ej valt</option>
	</select>
	<input type="submit" value="Infoga" />
</form>
```

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/165269-ladda-ner-data-från-popup-med-formulär
