webForumDet fria alternativet

Rullgardinsmeny med databas

JavaScriptur Javascript

15 svar · 545 visningar · startad av evesve

Medlem sedan sep. 2001163 inlägg
Frågan#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 %>
Medlem 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)">
Medlem sedan sep. 2001163 inlägg
#3

Får felmeddelande:

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

Medlem 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>
Medlem 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.

Medlem sedan mars 20015 287 inlägg
#6

Ta din orginalkod samt ändra till denna rad:

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

Medlem sedan sep. 2001163 inlägg
#7

Kanon!
Fungerar perfekt.

Medlem sedan mars 20015 287 inlägg
#8

Visste jag väl! ;)

Medlem 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 :)

Medlem 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.

Medlem 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!

Medlem 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?

Medlem sedan sep. 2001163 inlägg
#13

Ingen som vet?

Medlem sedan juni 200032 969 inlägg
#14

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

Medlem 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?

Medlem 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,

133 ms totalt · 3 externa anrop · v20260731065814-full.9823c0c5
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)