---
title: "skicka värde från popupfönster"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/134787-skicka-värde-från-popupfönster"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "devotion"
published: "2005-09-25T12:25:01.000Z"
updated: "2005-09-25T20:16:56.000Z"
replies: 16
views: 463
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/134787-skicka-värde-från-popupfönster"
---

# skicka värde från popupfönster

## #1 — devotion, 2005-09-25T12:25Z

Hej!

Har ett popupfönster som där man kan välja uppdragsnummer från en listmeny. 

Hur gör jag för att när jag markerat ett nummer och därefter klickar på submit, skicka värdet tillbaka till en textruta i den sidan som länken till popupfönstret finns? Jag vill även att popupfönstret skall stängas vid submit.

Mvh
Henrik

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

## #2 — emission, 2005-09-25T13:20Z

Du kommer åt det öppnande fönstret med

window.opener

t.ex

```
<input type="button" value="Tjohej!" onclick="window.opener.document.frmLalala.uppdrag.value=this.form.uppdrag.options[this.form.uppdrag.selectedIndex].value;window.close();">
```

Men gör gärna det hela i en funktion, så blir det snyggare.

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

## #3 — devotion, 2005-09-25T13:33Z

hmmm.. hur får man tilld et tilll enfunktion då... är kass på javascript...

//Henrik

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

## #4 — Engine^, 2005-09-25T13:38Z

Jag tror det ska se ut såhär...

```
function makeChoice( oInput )
{
  window.opener.document.frmLalala.uppdrag.value = oInput.form.uppdrag.options[ oInput.form.uppdrag.selectedIndex ].value;
  window.close();
}

<input type="button" value="Tjohej!" onclick="makeChoice( this );">
```

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

## #5 — devotion, 2005-09-25T13:46Z

tack!
 Ska testa!

/Henrik

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

## #6 — devotion, 2005-09-25T19:23Z

Hmmm, får inte till det... Eftersom jag inte är så bra på javascript så skulla jag bli glad om någ "förklarade" koden så jag kan skriva i rätt värden..

Formuläret som är på ursprungssidan heter "searchTask" fältet taskNr
formuläret på popupen heter: chooseTaskForm listmenyn: taskList

Mvh
Henrik

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

## #7 — Peter S, 2005-09-25T19:30Z

Skall det inte vara "taskList"?

```
function makeChoice( oForm )
{
  window.opener.document.forms["searchTask"].elements["taskNr"].value = oForm.elements["taskList"].options[ oForm.elements["taskList"].selectedIndex ].value;
  window.close();
}

<form name="chooseTaskForm">
    ...
    <input type="button" value="Tjohej!" onclick="makeChoice( this.form );">
</form>
```

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

## #8 — devotion, 2005-09-25T19:35Z

Hej!
Har testat ditt förslag Peter S men det fungerar inte.. det händer inget och jag får inget felmeddelande....

Mvh
Henrik

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

## #9 — emission, 2005-09-25T19:39Z

```
function makeChoice( oInput )
{
  //oInput är knappen som man klickade på
  //window.opener är det öppnande fönstret

  //Bäst att kolla om det finns ett öppnande fönster och om det är det rätta
  if (window.opener && window.opener.document.searchTask && window.opener.document.searchTask.taskNr)
  {
		//oInput.form är forumläret i popup:en
		window.opener.document.searchTask.taskNr.value = oInput.form.tasklList.options[oInput.form.tasklList.selectedIndex].value;
		window.close();
  }
  
}
```

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

## #10 — Peter S, 2005-09-25T19:42Z

> **devotion skrev:**
>
> Hej!
> Har testat ditt förslag Peter S men det fungerar inte.. det händer inget och jag får inget felmeddelande....
> 
> Mvh
> Henrik

Då får du kolla dina namn så att de stämmer. Såg du min fråga förresten? Sedan är det ju aldrig fel att vara noga med objektdetektering (se emissions inlägg).

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

## #11 — devotion, 2005-09-25T19:51Z

> **Peter S skrev:**
>
> Då får du kolla dina namn så att de stämmer. Såg du min fråga förresten? Sedan är det ju aldrig fel att vara noga med objektdetektering (se emissions inlägg).

Jepp jag såg den... Jag hade bara skrivit slarvigt här på forumet... Har redigerat det nu...

Men, antinge är jag helt bäng eller kan jag inte förklara vad jag menar.. Det funkar fortfarande inte.. det händer inget..

På sidan som "anropar" popupfönstret så finns det en länk:

```
<a href="#" onclick="window.open('chooseTask.asp', 'Detaljer', 'width=500, height=450'); return false;">klicka</a>
```

sidan som anropar popup-fönstret har ett formulär som heter:searchTask och ett textfält som heter: taskNr (vdet är till detta fält jag vill få tillbaka värdet från det valda upppdragsnumret i listmenyn i popup-fönstret.)

popup-fönstret har ett formulär som heter: chooseTaskForm och en listmeny som heter: taskList

Knappen i detta formulär heter: choose

```
    <input name="choose" type="button" id="choose" onclick="makeChoice( oInput );" value="Välj!">
```

Det händer ingenting när jag trycker på knappen choose

Mvh
Henrik

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

## #12 — Peter S, 2005-09-25T19:53Z

Med emissions kod:

```
<input name="choose" type="button" id="choose" onclick="makeChoice( [b]this[/b] );" value="Välj!">
```

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

## #13 — devotion, 2005-09-25T19:59Z

näe...

nu får ni hela koden....

analyzeTask.asp (ursprungssidan)

```
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>

<body>
  <form action="analyzeTask.asp" method="post" name="searchTask" id="searchTask">
	<table width="800" border="0" cellspacing="0" cellpadding="0">
	  <tr>
		<td width="191">Uppdragsnummer:</td>
		<td width="157"><input name="taskNr" type="text" id="taskNr" value="<% =request.Form("taskNr") %>"></td> 
		<td width="74"><a href="#" onclick="window.open('chooseTask.asp', 'Detaljer', 'width=500, height=450'); return false;">klicka</a></td>
		<td width="100">Mont&ouml;r:</td>
		<td width="278"><select name="user" id="user">
        </select></td>
	  </tr>
	  <tr>
		<td>Fr&aring;n och med: </td>
		<td><input name="startDate" type="text" id="startDate" value="<% =request.Form("startDate") %>"></td>
		<td><img src="../Images/tableDate.gif" width="19" height="14"></td>
		<td>Arbetstid:</td>
		<td><input name="workTime" type="checkbox" id="workTime" value="checkbox"></td>
	  </tr>
	  <tr>
		<td>Till och med: </td>
		<td><input name="stopDate" type="text" id="stopDate" value="<% =request.Form("stopDate") %>"></td>
		<td><img src="../Images/tableDate.gif" width="19" height="14"></td>
		<td>&Ouml;vertid:</td>
		<td><input name="overTime" type="checkbox" id="overTime" value="checkbox"></td>
	  </tr>
	  <tr>
	    <td>&nbsp;</td>
	    <td>&nbsp;</td>
	    <td>&nbsp;</td>
	    <td>Visa detaljer: </td>
	    <td><input name="timeDetails" type="checkbox" id="timeDetails" value="checkbox"></td>
      </tr>
	  <tr>
	    <td><input type="submit" name="Submit" value="Submit"></td>
	    <td>&nbsp;</td>
	    <td>&nbsp;</td>
	    <td>&nbsp;</td>
	    <td>&nbsp;</td>
      </tr>
	</table>
  </form>	
<%
If request.Form("taskNr") <> "" Then

	Dim objRS, objConn, strSQL, dtStartDate, dtStopDate, strTaskNr, strWorkTime, strOverTime, strDetails, strUser
	
	strTaskNr = request.Form("taskNr")
	dtStartDate = request.Form("startDate")
	dtStopDate = request.Form("stopDate")
	
	Set objConn = Server.CreateObject("ADODB.Connection")
	objConn.ConnectionString = "DSN=uppdragNu"
	objConn.Open 

	strSQL = "SELECT iif (SUM(Time) IS NULL, 0, SUM(Time)) As totalTime " &_
			 "FROM tblTask " &_
			 "INNER JOIN tblTime ON tblTask.Id = tblTime.TaskId " &_
			 "WHERE tblTask.TaskNr = '" & strTaskNr & "' AND tblTime.startDate > #" & dtStartDate & "# AND tblTime.StopDate < #" & dtStopDate & " 23:59:59# "
			 
	Set objRS = Server.CreateObject("ADODB.Recordset")
	objRS.Open strSQL, objConn, 3, 1
	
		If objRS.EOF then 
			response.write "Det fanns inga uppdrag!"
		Else
			do until objRS.EOF
			Response.write objRS("totalTime")
			objRS.Movenext
			Loop
		End If
	
	objRS.Close
	Set objRS = Nothing
	objConn.Close
	Set objConn = Nothing
	
	
End If
%>  
</body>
</html>
```

och chooseTask.asp (popup-fönstret)

```
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Välj uppdrag</title>

<script language="Javascript">
function makeChoice( oInput )
{
  //oInput är knappen som man klickade på
  //window.opener är det öppnande fönstret

  //Bäst att kolla om det finns ett öppnande fönster och om det är det rätta
  if (window.opener && window.opener.document.searchTask && window.opener.document.searchTask.taskNr)
  {
		//oInput.form är forumläret i popup:en
		window.opener.document.searchTask.taskNr.value = oInput.form.tasklList.options[oInput.form.tasklList.selectedIndex].value;
		window.close();
  }
  
}</script>

</head>

<body>
<%
Dim objRS, objConn, strSQL

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DSN=uppdragNu"
objConn.Open 

strSQL = "SELECT  * " &_
		 "FROM tblTask " &_
		 "ORDER BY taskNr "
		 
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, objConn, 3, 1
%>

<form name="chooseTaskForm" method="post" action="">
  <p>
  <select name="TaskList" size="10" id="TaskList">
      <% Do until ObjRS.EOF %>
      <option value="<% =objRS("TaskNr")%>">
      <% =objRS("TaskNr") & " " & objRS("customerName") & " "%>
      <%If Len(objRS("task")) > 30 then
	Response.Write left(objRS("task"),27) & "..."
Else
	Response.write objRS("task")
End If%> 
      </option>
      <% objRS.Movenext %>
      <% Loop %>
  </select>
  
<%
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>
</p>
  <p>
    <input name="choose" type="button" id="choose" onclick="makeChoice( this );" value="Välj!">
</p>
</form>
</body>
</html>
```

Börjar bli sinnessjuk.......  x( 

Troligen har jag gjort nått totalfel..

Mvh
Henrik

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

## #14 — Peter S, 2005-09-25T20:04Z

Om vi pratar om popupfönstrets kod. I JS-koden refererar du till ett element "tasklList" (felstavat  ;) ), när elementet i själva verket heter "TaskList" (med inledande versal). Eftersom JavaScript är skiftlägeskänsligt måste strängarna vara lika. Så om elementet får fortsätta heta "TaskList":

```
oInput.form.TaskList.options[oInput.form.TaskList.selectedIndex].value
```

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

## #15 — devotion, 2005-09-25T20:11Z

ja vad ska man säga..... Pinsamt.... Du hade rätt Peter S! Jag hade stavat som en kratta! Tack emission oxå... din kod hade funkat om jag stavat rätt...

Tack båda för ert tålamod...

Så efter kontroll av stavning och versaler så funkar din kod utmärkt emission...

Mvh
Henrik

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

## #16 — Peter S, 2005-09-25T20:13Z

Det är sådant som händer. Glöm inte att acceptera emissions svar som slutgiltigt (om valet föll på det vill säga).

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

## #17 — devotion, 2005-09-25T20:16Z

:)
Done!

Mvh
Henrik

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/134787-skicka-värde-från-popupfönster
