webForumDet fria alternativet

Rullgardinsmeny med databas

15 svar · 545 visningar · startad av evesve

evesveMedlem sedan sep. 2001163 inlägg
#1

Jag har en rullgardin som visar personer o en databas.
Fungerar bra.
Kan jag få bort submit-knappen så resultatet visas direkt när jag väljer person?

<!-- #include file="../special/strConnect_telefon.asp" -->
<FORM ACTION="d02.asp" METHOD="post">

<SELECT NAME="ListBox" SIZE=1>
<% Set rs = connect.Execute("SELECT id,enamn FROM telefontabell") %>
<% Do While Not rs.EOF   %>
<OPTION VALUE="<%= rs("Id") %>"> <%= rs("enamn") %>
<% rs.MoveNext %>   
<% Loop %>   
<INPUT type="submit" value="Välj person">
</FORM>
<% rs.Close %>   
<%

Dim idnr
If Request.Form("Listbox") > "1" Then
	idnr = Request.Form("Listbox")%>
<%response.write idnr%>

<% Set rs2 = connect.Execute("SELECT * FROM telefontabell WHERE ID = "&idnr ) %>

<table border="0" cellpadding="2" cellspacing="2"> 
<tr>
<td colspan="1" width="100" class=bg2><font size="1" face="verdana, arial"><b>Efternamn</b></font></td>
<td colspan="1" width="100" class=bg2><font size="1" face="verdana, arial"><b>Förnamn</b></font></td>
<td colspan="1" width="100" class=bg2><font size="1" face="verdana, arial"><b>Telefon</b></font></td>
</tr>
<tr>
<td colspan="1" width="100" class=bg4><font size="1" face="verdana, arial"><% =rs2("Enamn") %></font></td>
<td colspan="1" width="100" class=bg4><font size="1" face="verdana, arial"><% =rs2("Fnamn") %></font></td>
<td colspan="1" width="100" class=bg4><font size="1" face="verdana, arial"><% =rs2("Telefon")%> </font></td>
</tr>
<tr>
<td colspan="1" width="100" class=bg4><font size="1" face="verdana, arial"> </font></td>
<td colspan="1" width="100" class=bg4><font size="1" face="verdana, arial"><% =rs2("Badress") %></font></td>
<td colspan="1" width="100" class=bg4><font size="1" face="verdana, arial"><% =rs2("Padress") %></font></td>
</tr>
<%End If%>

<% connect.Close %>
LAMPMedlem sedan mars 2002777 inlägg
#2
<SCRIPT type="text/JavaScript">
<!--
function jumpto(form) {
   var myindex=form.dest.selectedIndex
   location.href=form.dest.options[myindex].value
}
//-->
</script>

[b]och i din select:[/b]

<SELECT NAME="ListBox" SIZE=1 onChange="jumpto(this.form)">
evesveMedlem sedan sep. 2001163 inlägg
#3

Får felmeddelande:

'dest.selectedIndex' är null eller inte ett objekt

Jörgen HPMedlem sedan feb. 20012 412 inlägg
#4

Selectfältet heter ListBox

<SCRIPT type="text/JavaScript">
<!--
function jumpto(form) {
   var myindex=form.ListBox.selectedIndex
   location.href=form.ListBox.options[myindex].value
}
//-->
</script>
evesveMedlem sedan sep. 2001163 inlägg
#5

Nu hittar han inte tillbaka till sidan.
I adressfältet stod först:
.........exempel/d02.asp
Efter namnvalet står det:
.........exempel/11
där 11 är aktuellt ID.

solbulleMedlem sedan mars 20015 287 inlägg
#6

Ta din orginalkod samt ändra till denna rad:

<SELECT NAME="ListBox" SIZE=1 onChange="this.form.submit()">

evesveMedlem sedan sep. 2001163 inlägg
#7

Kanon!
Fungerar perfekt.

solbulleMedlem sedan mars 20015 287 inlägg
#8

Visste jag väl! ;)

Jörgen HPMedlem sedan feb. 20012 412 inlägg
#9

Nackdelen med den enkla varianten av kod är att du inte kan välja vart (i vilken frame om det används) länken ska öppnas.

mvh Jörgen HP :)

solbulleMedlem sedan mars 20015 287 inlägg
#10

Eh? Var formuläret skall postas brukar man väl ange i formtaggen?

<FORM ACTION="d02.asp" METHOD="post" target="frame1">

Eller missar jag något?

Känns som att ni är inne på ett menyscript vilket detta inte riktigt verkar vara.

evesveMedlem sedan sep. 2001163 inlägg
#11

Som scriptet används av mig är det inget menyscript, så jag är nöjd för tillfället.
Jag har behov av en menyvariant (för frames) så småningom, så ni får gärna fortsätta.
Jag börjar kunna lite ASP nu, men Javascript är fortfarande en dimma.
Sen kanske frågan borde ställts bland Javascript-forum och inte i ASP?
Men det är väl försent nu!

evesveMedlem sedan sep. 2001163 inlägg
#12

En liten följdfråga bara...
Sidan uppdateras automatiskt med tabelluppgifter på rätt person när jag väljer ny person UTOM när jag väljer den översta.

<FORM ACTION="d02.asp" METHOD="post">
<SELECT NAME="ListBox" SIZE=1 onChange="this.form.submit()">

<% Set rs = connect.Execute("SELECT id,enamn,fnamn FROM telefontabell") %>
<OPTION VALUE=""> Välj namn i listan.
<% Do While Not rs.EOF   %>
<OPTION VALUE="<%= rs("Id") %>"> <%= rs("enamn") %>, <%= rs("fnamn") %>
<% rs.MoveNext %>   
<% Loop %>   
</FORM>
<% rs.Close %>

Hur får jag till den sista slutklämmen?

evesveMedlem sedan sep. 2001163 inlägg
#13

Ingen som vet?

@ndersMedlem sedan juni 200032 969 inlägg
#14

Har du en url till ett ställe där vi kan kika?

evesveMedlem sedan sep. 2001163 inlägg
#15

Nej, inte för tillfället.

Vad jag gissar så laddas den första länken från start????
Kommandot onChange funkar då inte om jag inte byter ut den mot en annan länk??????

Har jag helt fel?

@ndersMedlem sedan juni 200032 969 inlägg
#16

Nja, onchange skall triggas så fort du byter val i selecten. Du kommer inte att kunna välja den absolut översta (<OPTION VALUE="">) eftersom ingen annan blir markerad någon gång, eftersom du postar formuläret.

Men alla andra ska gå att välja...

Jag flyttar över frågan till Javascript-forumet, så kanske du får mer hjälp där! :)

Mvh,

130 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)