Listboxval selected om id = request från formulär?

ASP

6 svar · 241 visningar · startad av brw

Medlem sedan juli 2000619 inlägg
Trådstart#1

Hej!

Jag har en liten fundering om varför inte detta fungerar.

Jag har en databas med värden som rullas upp i en listbox typ:

<%
sididform = Request.Form("sidid")

If sididform = "" then
sidid = 1
Else
sidid = sididform
End If

sql = "Select * from sidor order by id"
set rs = connection.execute(sql)

'sql2 = "Select * from sidorna WHERE sidid = '"&sidid&"' "
'set rs = connection.execute(sql2)
%>

<form name="sidbyte" action="sidval.asp" method="post">
<select name="sidid" onChange="this.form.submit()"> 

<% do until rs.eof%>

<% sid = RS("id")%>

<option value="<%=RS("id")" <%If sid = sidid then response.write "Selected" End If><%=RS("beskrivning")%></option>

<% rs.movenext
loop
rs.close
osv...
%>
</select>
</form>

Bla bla bla bla text och sånt...

Det jag vill är att: Om "sid" = "sidid" så ska listvalet bli selected men det funkar fan inte.. vad är det som gör att det inte går??
körs aspkoden på nå vis först och sen hinner den inte med det som kommer från formuläret eller finns det nån annan lösning?

Jag provat hit och dit nu men jag kommer fan inte på nå mer.

Tacksam för svar!

Medlem sedan dec. 19998 577 inlägg
#2

Testa detta:

<option value="<%=RS("id")%>"<%If sid = sidid then response.write " Selected"%>><%=RS("beskrivning")%></option>
Medlem sedan juli 2000619 inlägg
#3

fungerar inte utan "End IF" då blir det:

Kompileringsfel i Microsoft VBScript fel '800a040e'

'loop' utan 'do'

/sidval.asp, rad 303

Loop

Medlem sedan dec. 19998 577 inlägg
#4

Ja, men ha med den då... om det betyder så mycket för dig... :e

Det var inte det enda jag ändrade...

Medlem sedan juli 2000619 inlägg
#5

Ja OK! jag missade %>

men det har jag i min riktiga fil jag skrev ur huvudet... men det fugnerar inte när jag gjort exakt som din rad ändå.. jag kör response.write på id och sen på vad sid är och det visar rätt... men det funkar iaf. inte

Medlem sedan dec. 20003 563 inlägg
#6

Det här borde nog stämma. Misstänker att det kan vara skillnad i sträng/tal som gör det.

<%
sididform = CInt(Request.Form("sidid"))
If sididform = "" then
sidid = 1
Else
sidid = sididform
End If

set rs = connection.execute("Select * from sidor order by id")
%>

<form name="sidbyte" action="sidval.asp" method="post">
<select name="sidid" onChange="this.form.submit()"> 

<%
do until rs.eof
sid = RS("id")
%>
 <option value="<%=rs("id")" <%If sid = sidid then response.write("Selected") End If%>><%=RS("beskrivning")%>
<% 
rs.movenext
loop
rs.close
%>

</select>
</form>

Bla bla bla bla text och sånt...
Medlem sedan juli 2000619 inlägg
#7

Bockar och bugar!

Nu funkar det utmärkt.. tänk att ett sånt litet problem kan ställa till det =)

371 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
123 ms — deklarationer (db)
118 ms — hämta statistik (db)
127 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)