webForumDet fria alternativet

Formulär i popup

6 svar · 259 visningar · startad av andreas_lindh

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#1

Jag har en sida med ett mailformulär med några fält bla
till och kopia
På sidan har jag en länk som öppnar ett popupfönster med en adressbok där man kan välja mottagare.
Den sidan ser ut så här
https://www.alindh.com/misc/adressbok.gif

När man klickar på ok vill jag att rutan stängs och att värdena i Till och Kopia hamnar i textfälten på sidan där man öppnade popupen.

Går detta att göra och i så fall hur gör man?

Peter SMedlem sedan dec. 20025 483 inlägg
#2

Anta att den sida som öppnar "popup"-fönstret ser ut så här:

<form name="f">
Till:<br>
<input type="text" name="to"><br>
Kopia:<br>
<input type="text" name="copy">
</form><br>

Då skulle koden i "popup"-fönstret kunna se ut så här:

<script type="text/javascript">
<!--

function addInfo(o){
	if(!window.opener){
		return 0;
	}

	var
		f1=o.elements["s1"],
		f1l=f1.length,
		f2=o.elements["s2"],
		f2l=f2.length,
		ow=window.opener.document.forms["f"];

	for(var i=0; i < f1l; i++){
		if(f1[i].selected){
			ow.elements["to"].value+=f1[i].value;
		}
	}

	for(var i=0; i < f2l; i++){
		if(f2[i].selected){
			ow.elements["copy"].value+=f2[i].value;
		}
	}

	self.close();
};

//-->
</script>

<form onsubmit="addInfo(this)">

<select name="s1" multiple="multiple">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

<select name="s2" multiple="multiple">
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>

<input type="submit">

</form>

:)

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#3

Tack.
Fungerar perfekt

Går det att hämta alla värden i s1 och s2 även fast dom inte är valda?

Peter SMedlem sedan dec. 20025 483 inlägg
#4

Självklart. Var skall de hamna?

:)

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#5

i de två formulären på sidan som popupen öppnas ifrån

to och copy

Peter SMedlem sedan dec. 20025 483 inlägg
#6

Då är det bara att ta bort if(...) med tillhörande "måsvingar" i respektive for-loop. Raden innanför lämnar du givetvis kvar ;)

:)

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#7

Tack :)

136 ms totalt · 3 externa anrop · v20260731065814-full.37765c92
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)