Avatar billede mydream Nybegynder
27. maj 2008 - 12:49 Der er 6 kommentarer og
1 løsning

Formular til dbopslag til dropdownmenu

Jeg har brug for i en formular at kunne skrive et bynavn i et tekstfelt og derefter modtage nogle resultater fra min database præsenteret i et dropdownfelt.

Jeg har en fil (top.asp) hvor formularen er:

<form action="iframe.asp" target="iframen">
<input name="Bynavn" type="text" value="ingenting" onChange="java script:this.form.submit;">
<input name="Send" type="submit" value="Send">
</form>



<form action="" name="sendeform" id="sendeform" method="get">
<input name="tekstrammeresultat" type="text" value="ingenting">
<select name="Dropdown"></select>
<input name="tekstramme2" type="text" value="">
</form>

<iframe name="iframen" id="iframen" src="iframe.asp"></iframe>

og en fil iframe.asp:
----------------------------
(her starter jeg med at hente fra databasen og resultatet er variablen Stednavn)

<script>
function updatelink(Stednavn){

elem2 = parent.document.getElementById("tekstramme2");
elem22 = parent.document.getElementById("tekstrammeresultat");
elem2.value = Stednavn;
elem22.value = "<%=Bynavn%>";
}
</script>

<body onLoad="updatelink('<%=Stednavn%>');">

--------------------------

Hvordan får jeg Stednavn til at komme frem i min dropdown boks? Der vil komme 1-5 forskellige værdier i Stednavn (som jeg henter i en løkke). Hvordan får jeg dannet disse Options?
Avatar billede w13 Novice
27. maj 2008 - 12:57 #1
Du kan lægge det i selecten (hvis selected får id="stednavn") med:

parent.document.getElementById("stednavn").options[parent.document.getElementById("stednavn").options.length] = new Option("value1","text1");

parent.document.getElementById("stednavn").options[parent.document.getElementById("stednavn").options.length] = new Option("value2","text2");
Avatar billede w13 Novice
27. maj 2008 - 13:00 #2
Du bør nok lægge referencen til "stednavn" i en variable:

var oStednavn=parent.document.getElementById("stednavn");

oStednavn.options[oStednavn.options.length] = new Option("value1","text1");
oStednavn.options[oStednavn.options.length] = new Option("value2","text2");
Avatar billede mydream Nybegynder
27. maj 2008 - 13:07 #3
Det virker fint, men jeg vil gerne have slettet de gamle options, hver gang jeg opdaterer, så de ikke bare lægger sig i en lang række.
Avatar billede mydream Nybegynder
27. maj 2008 - 13:08 #4
og kan jeg få den option til at ligge øverst? Lige nu ligger der en blank option øverst.
Avatar billede w13 Novice
27. maj 2008 - 13:16 #5
For at slette gamle, skal det nok være:

var oStednavn=parent.document.getElementById("stednavn");

while(oStednavn.hasChildNodes())oStednavn.removeChild(oStednavn.firstChild);

oStednavn.options[oStednavn.options.length] = new Option("value1","text1");
oStednavn.options[oStednavn.options.length] = new Option("value2","text2");
Avatar billede mydream Nybegynder
27. maj 2008 - 13:23 #6
Det er smukt !! Tak for hjælpen.
Avatar billede w13 Novice
27. maj 2008 - 13:23 #7
;) Tak for point!
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