Avatar billede kledal Nybegynder
26. maj 2003 - 14:44 Der er 19 kommentarer og
1 løsning

Jeg skal åbne en popup og så vælge en værdi fra en dropdown

denne værdi skal så indsættes i et felt på min alm side. hvordan skal jeg gøre det??

værdierne i dropdownen kommer fra en DB. så dropdownen ser sådan ud :

<select name="">
<%
SQL = "select * from DB"
ObjRs = ObjConn.Execute(SQL)
do while not ObjRs.eof
varid = ObjRs("id")
varnavn = ObjRs("name")
%>
<option value="<%=varid%>"><%=varname%></option>
<%
ObjRs.movenext
loop
ObjRs.close
%>
</select>

men hvordan får jeg hentet værdien ind på den anden side???

mvh kledal
Avatar billede bamzen Nybegynder
26. maj 2003 - 14:50 #1
hvis du foreksempel har en form på den anden side, indeholde et felt der hedder mitFelt, kan du gøre følgende i din select tag

<select name="etFelt" onChange="df=document.forms[0].etFelt;opener.document.forms[0].mitFelt.value=df.options[df.selectedIndex].value">
Avatar billede roenving Novice
26. maj 2003 - 14:52 #2
<select ... onchange="sendVaerdi(this);">

og i popupens <head>-sektion:

<script language="javascript" type="text/javascript">

function sendVaedi(f){
  opener.formNavn.feltNavn.value=f.options[f.selectedIndex].value;
}

hth
jes
Avatar billede roenving Novice
26. maj 2003 - 14:53 #3
Uff -- det skulle selvfølgelig være:

function sendVaerdi(f){

!-|
Avatar billede kledal Nybegynder
26. maj 2003 - 15:21 #4
Bamzen> hvad skal jeg sætte value på Mitfelt til?? Den siger nu at

document.forms.0.etfelt is null or is not an object

hvad skal jeg så gøre??

kledal
Avatar billede bamzen Nybegynder
26. maj 2003 - 15:31 #5
Value på mitFelt som er på siden du åbner pop-up'en skal ikke sættes til noget
Javascriptet i pop-up vinduets select sætter value til værdien af den valgte option i selectboxen

document.forms.0.etfelt skal gerne være din select på din side i pop up vinduet

prøv med

<html>
<head>
</head>
<body>
<form>
<select name="etFelt" df=document.forms[0].etFelt;opener.document.forms[0].mitFelt.value=df.options[df.selectedIndex].value>
<%
SQL = "select * from DB"
ObjRs = ObjConn.Execute(SQL)
do while not ObjRs.eof
varid = ObjRs("id")
varnavn = ObjRs("name")
%>
<option value="<%=varid%>"><%=varname%></option>
<%
ObjRs.movenext
loop
ObjRs.close
%>
</select>
</form>
</body>
</html>
Avatar billede kledal Nybegynder
26. maj 2003 - 15:41 #6
vil du have at jeg skal fjerne onchange?? det er den enste ting der er forskellig fra min nuværende til det du lige skrev

kledal
Avatar billede roenving Novice
26. maj 2003 - 15:41 #7
>>bamzen
-- En lille fejl -- og hvorfor bruger du ikke this i stedet for:

<select name="etFelt" onchange="opener.document.forms[0].mitFelt.value=this.options[this.selectedIndex].value">
Avatar billede kledal Nybegynder
26. maj 2003 - 15:42 #8
hvad står df for??
Avatar billede kledal Nybegynder
26. maj 2003 - 15:44 #9
hvordan ved popup at den skal sende værdien til den anden side?? er det ikke det der mangler??

kledal
Avatar billede roenving Novice
26. maj 2003 - 15:47 #10
opener er det vindue, som har åbnet popuppen, så det er der den henter den oplysning -- mitFelt skal ændres til det felt-navn, du vil have værdien overført til
Avatar billede kledal Nybegynder
26. maj 2003 - 15:51 #11
det felt jeg gerne vil have værdien overført til hedder mitfelt. skal popup'en have et specielt navn??
Avatar billede roenving Novice
26. maj 2003 - 16:01 #12
Nej, men det er i princippet en fejl ikke at angive et navn, hvis popuppen åbnes med window.open -- men det er så smart, at popup-vinduet ved hvilket vindue, som har åbnet den, nemlig : opener
Avatar billede kledal Nybegynder
26. maj 2003 - 16:10 #13
jeg har nu i min window.open givet den et navn, men jeg får stadig samme fejl
Avatar billede roenving Novice
26. maj 2003 - 16:14 #14
har du en form, altså:

<form>noget, bl.a. <input type="text" name="mitFelt"></form>
Avatar billede kledal Nybegynder
26. maj 2003 - 16:22 #15
ja men min form har ikke noget navn, men det regnede jeg ikke med at den skulle have, da den blot referes til som Forms

skal den have et navn?

kledal
Avatar billede roenving Novice
26. maj 2003 - 16:28 #16
Næeh, men hvis du har mere end eet sæt form-tags kan det være du skal bruge forms[1]
Avatar billede bamzen Nybegynder
26. maj 2003 - 17:02 #17
OK, var på arbejde da jeg skrev det sidste indlæg, lavede en fejl kan jeg se.... Jeg har nu lavet et eksempel som kan ses her

http://notes.bech.dk/eksperten/357255/
Avatar billede kledal Nybegynder
27. maj 2003 - 08:46 #18
her er min popup kode:

<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<form>
<select name="etFelt" onChange="df=document.forms[0].etFelt;opener.document.forms[0].mitFelt.value=df.options[df.selectedIndex].value">
<option value="">vælg en værdi</option>
<%
SQL = "select * from test order by id"
Set ObjRs = ObjConn.Execute(SQL)

do while not ObjRs.eof
varnavn = ObjRs("navn")
%>
<option value="<%=varnavn%>"><%=varnavn%></option>
<%
ObjRs.movenext
loop

%>
</select>
</form>
</BODY>
</HTML>

og her er koden fra den side der åbner popup'en :

<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>


</HEAD>
<body onLoad="window.open('testpop.asp','popWin','width=200,height=200')">

<form>

<input type="text" name="mitfelt" id="mitfelt" size="40">

</form>

</BODY>
</HTML>

jeg får stadig besked om at "opener.document.forms.0.mitfelt is null or not an object" hvad gør jeg galt??

kledal
Avatar billede kledal Nybegynder
27. maj 2003 - 09:13 #19
ok, problemet er at jeg arbejder med .asp filer. den fil der åbner popup'en kan tilsyneladende ikke være en .asp fil. hvordan kan det være? og hvordan kan jeg fixe det så den kan være en .asp fil??
Avatar billede kledal Nybegynder
27. maj 2003 - 09:15 #20
undskyld, nu har jeg fået det til at funke, tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester