Vad jag vill ha är en droppdownlista i vliken namn på olika städer skall listas. Tyvärr är det lite lurigt ibland med =. Ibland tar det, ibland inte och för att inte kunna jämföra äpplen och päron kan du använda cLng för att garantera konvertering till cLng när du jämför dessa värden. Slarvfel! Du har glömt = teknet mellan value och värdet. ;o) aj då. Så det var slarvfel. Makera Request.Form("stad") i dropdownlista
Alla städer har olika id-nummer som skall vara städernas värde i listan.
Städerna och idnummrena sparas i en databas.
Med koden ndean så listas städerna och deras option value är taget från id-tabellen i databasen.
När jag sedan skickar värdet i dropdownlistan som ingår i ett formulär till samma sida som formuläret så är det meningen att den stad som man valde skall vara makerad.
Men det funkar inte. Trotts att jag har satt värdet i dropplistan till stadens id så verkar det som om det är stadens namn som skickas och inte idnummret. Varför blir det så?
Det blir liksom ingen stad makerad när man skickat formuläret. Och testar man att skriva ut värdet Str_Stad så är det stadens namn och inte idnummret som skrivs ut.
Vad är det som är fel i koden?
Koden:
<code>
<%
Str_Stad=Request.Form("stad")&""
%>
</code>
<code>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DRIVER=databasen"
' Dropdownlistan
Response.write "<Select name=stad><option value""></option>>"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From stad ORDER BY stad"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
Do Until RecSet.EOF
'Lista i Dropdownlistan
Response.write "<option value"""&RecSet("id")&""""
If RecSet("id")=Str_Stad Then
Response.write " selected"
Else
End if
Response.write ">"&RecSet("stad")&"</option>"
RecSet.MoveNext
Loop
'Stäng Dropdownlistan
Response.write "</select>"
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
%>
</code>Sv: Makera Request.Form(
<code>
If cLng(RecSet("id")) = cLng(Str_Stad) Then
Response.write " selected"
Else
End if
</code>Sv: Makera Request.Form("stad") i dropdownlista
Testa med:
<code>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DRIVER=databasen"
' Dropdownlistan
Response.write "<Select name=stad><option value=""""></option>"
Addera = "Select * From stad ORDER BY stad"
Set RecSet = Server.CreateObject("ADODB.Recordset")
RecSet.Open Addera, Connect
Do Until RecSet.EOF
'Lista i Dropdownlistan
Response.write "<option value=""" & RecSet("id") & """"
If RecSet("id")=Str_Stad Then
Response.write " selected"
End if
Response.write ">" & RecSet("stad") & "</option>"
RecSet.MoveNext
Loop
'Stäng Dropdownlistan
Response.write "</select>"
RecSet.Close
Set RecSet = nothing
Connect.Close
Set Connect = nothing
%>
</code>Sv: Makera Request.Form("stad") i dropdownlista
Tack skall ni ha, nu fungerar det i all fall.
Kör med det Andreas skrev + Str_Stad=Cint(Str_Stad).
Tack ännu en gång.