Avatar billede caroc Praktikant
26. januar 2006 - 14:11 Der er 12 kommentarer og
1 løsning

Dropdownbox med link

Hej.

Jeg har lavet en dropdownbox som trækker data ud fra en access db men jeg kan ikke rigtig få "posterne" til at virke som links.

De skal alle sammen linke til den samme side men der skal hentes en querystring fra db og kobles på linket.

<option value="<%=rs("Url")%>"><%=rs("Name")%>
</option>

Kan ikke lige få det til at fungere..
Caroc
Avatar billede fennec Nybegynder
26. januar 2006 - 14:20 #1
Det gøres med onChange værdien på selectboxen

<select name="link" onchange="location=this[this.selectedIndex].value;">
<option>-- Vælg --</option>
<% set rs = conn.execute("...")
  while not rs.eof %>
<option value="<%=rs("Url")%>"><%=rs("Name")%></option>
<%  rs.MoveNext
  wend %>
</select>
Avatar billede caroc Praktikant
26. januar 2006 - 14:23 #2
okay ser godt ud :)
men det jeg gerne vil er at der linkes til side2.asp
men querystringen til det link skal trækkes ud fra db..

håber du forstår..
Avatar billede fennec Nybegynder
26. januar 2006 - 14:37 #3
Querystringen er det det der står i rs("Url")?? For så er det noget i denne stil:
<option value="side2.asp?<%=rs("Url")%>"><%=rs("Name")%></option>
Avatar billede caroc Praktikant
26. januar 2006 - 14:50 #4
det var lige det jeg manglede :) NU virker resten dog ikke.. hehe
Det her er hvad jeg har:

<select name="link" onchange="location=this[this.selectedIndex].value;">
<option>-- Vælg --</option>
<% set rs = conn.execute("...")
  while not rs.eof %>
  <option value="side2.asp?<%=rs("Name")%>"><%=rs("Name")%></option>
<%  rs.MoveNext
  wend %>
</select>

  <%Do While Not rs.eof

rs.MoveNext
Loop
rs.Close
Set rs = Nothing
%>

<%
conn.close
set conn = nothing
%>
Avatar billede fennec Nybegynder
26. januar 2006 - 14:54 #5
Der er noget ef koden du ikke behøver, men det er ikke noget som vil give en fejl:

<select name="link" onchange="location=this[this.selectedIndex].value;">
<option>-- Vælg --</option>
<% set rs = conn.execute("...")
  while not rs.eof %>
  <option value="side2.asp?<%=rs("Name")%>"><%=rs("Name")%></option>
<%  rs.MoveNext
  wend %>
</select>
<%
conn.close
set conn = nothing
%>
Avatar billede caroc Praktikant
26. januar 2006 - 14:59 #6
Hmm jeg får ingen fejl men den trækker ikke ud fra databasen. Den har altså ingen data i boxen.

<%
Response.Buffer = True
%>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open ("Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/saloon.mdb"))
SQL ="SELECT * FROM Galleri ORDER BY Id"
Set rs = Connect.Execute(SQL)
%>

<form method="POST" name="dropdown">
<select name="link" onchange="location=this[this.selectedIndex].value;">
<option>-- Vælg --</option>
<% set rs = conn.execute("...")
  while not rs.eof %>
  <option value="side2.asp?<%=rs("Name")%>"><%=rs("Name")%></option>
<%  rs.MoveNext
  wend %>
</select>
<%
conn.close
set conn = nothing
%>
Avatar billede fennec Nybegynder
26. januar 2006 - 15:09 #7
Du har en tidligere set rs. så slet den jeg skrev inde i dropdownboxen:
<% while not rs.eof %>
  <option value="side2.asp?<%=rs("Name")%>"><%=rs("Name")%></option>
<%  rs.MoveNext
  wend %>
Avatar billede caroc Praktikant
26. januar 2006 - 15:28 #8
Så virker det :)
Får dog denne fejl:
Microsoft VBScript runtime error '800a01a8'

Object required: ''

/test/gallery2.asp, line 33
Avatar billede fennec Nybegynder
26. januar 2006 - 15:49 #9
Hvad står der i linje 33??
Avatar billede caroc Praktikant
26. januar 2006 - 21:38 #10
der står

conn.close
Avatar billede fennec Nybegynder
27. januar 2006 - 08:27 #11
Ændre de 2 linjer til:
Connect.close
set Connect = nothing
Avatar billede caroc Praktikant
30. januar 2006 - 16:25 #12
Saa mangler jeg bare et svar... :)
Avatar billede fennec Nybegynder
30. januar 2006 - 16:26 #13
.o) <-- One Eyed Jack
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
Kurser inden for grundlæggende programmering

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