Hej hej!
Har lite problem med en select-box.
Jag vill hämta upp värdet från databasen till select-boxen men inget händer, koden ignoreras. Kan nån hjälpa mig hitta felet?
<form action="lankar_radera_redigera2.asp" method="post" name="kategori">
<select name="valj" onchange="kategori.submit()" font-family:Verdana">
<option value="2" <%if trim(rs("kategori"))="2" then Response.write "selected"%>>Webbdesign
<option value="3" <%if trim(rs("kategori"))="3" then Response.write "selected"%>>Animering/film
<option value="4" <%if trim(rs("kategori"))="4" then Response.write "selected"%>>Illustration/3D
<option value="5" <%if trim(rs("kategori"))="3" then Response.write "selected"%>>Programmering
<option value="6" <%if trim(rs("kategori"))="3" then Response.write "selected"%>>Programvaror
<option value="7" <%if trim(rs("kategori"))="3" then Response.write "selected"%>>Övrigt
</select>
</form>
<option value="2" <%if trim(rs("kategori"))="2" then Response.write "selected" end if%>>Webbdesign
<option value="3" <%if trim(rs("kategori"))="3" then Response.write "selected" end if%>>Animering/film
<option value="4" <%if trim(rs("kategori"))="4" then Response.write "selected" end if%>>Illustration/3D
<option value="5" <%if trim(rs("kategori"))="3" then Response.write "selected" end if%>>Programmering
<option value="6" <%if trim(rs("kategori"))="3" then Response.write "selected" end if%>>Programvaror
<option value="7" <%if trim(rs("kategori"))="3" then Response.write "selected" end if%>>Övrigt
du kan ta istället för if trim
elseif så slipper du en massa end if:
<form action="lankar_radera_redigera2.asp" method="post" name="kategori">
<select name="valj" onchange="kategori.submit()" font-family:Verdana">
<option value="2" <%if trim(rs("kategori"))="2" then Response.write "selected"%>>Webbdesign
<option value="3" <%elseif trim(rs("kategori"))="3" then Response.write "selected"%>>Animering/film
<option value="4" <%elseif trim(rs("kategori"))="4" then Response.write "selected"%>>Illustration/3D
<option value="5" <%elseif trim(rs("kategori"))="3" then Response.write "selected"%>>Programmering
<option value="6" <%elseif trim(rs("kategori"))="3" then Response.write "selected"%>>Programvaror
<option value="7" <%elseif trim(rs("kategori"))="3" then Response.write "selected"%>>Övrigt
</select>
</form>
<%end if%>
om koden har ignoerats måste du har haft on error resume...
Du har nog rört till det lite voigtann1. Man behöver inte ta med End If om man skriver på samma rad och inte har nån else. Sen så ditt andra alternativ skulle göra att alternativ skulle försvinna på konstiga sätt.
Jag tror felet är att soffan jämför tal med strängar, prova det här istället. :)
<form action="lankar_radera_redigera2.asp" method="post" name="kategori">
<select name="valj" onchange="kategori.submit()" font-family:Verdana">
<option value="2"<%if rs("kategori")=2 then Response.write " selected"%>>Webbdesign
<option value="3"<%if rs("kategori")=3 then Response.write " selected"%>>Animering/film
<option value="4"<%if rs("kategori")=4 then Response.write " selected"%>>Illustration/3D
<option value="5"<%if rs("kategori")=3 then Response.write " selected"%>>Programmering
<option value="6"<%if rs("kategori")=3 then Response.write " selected"%>>Programvaror
<option value="7"<%if rs("kategori")=3 then Response.write " selected"%>>Övrigt
</select>
</form>
@ndersMedlem sedan juni 200032 969 inlägg Man ska inte ha end if när if-satsen bara innefattar ett statement, och det statementet står på samma rad som if-satsen.
Koden skall alltså vara korrekt, under förutsättning att någon av ifsatserna evalueras till sant.
På vilket sätt ignoreras koden? Vad får du ut om du gör en utskrift av rs("kategori")? Vad är fältet kategori av för datatyp i tabellen?
Mvh,
voigtann1
När jag testar ditt förlag får jag:
Microsoft VBScript compilation error '800a03ea'
Syntax error
/intranet/redigera_lank1.asp, line 90
elseif trim(rs("kategori"))="3" then Response.write "selected"
Den klagar på den första elseif-raden. Vet du varför?
@nders
Det är datatyp tal.
Jag får ut siffran när jag skriver:
<% =RS("kategori") %>
Vad menar du med:
"ifsatserna evalueras till sant"
Äh, jag hade klantat till det i koden och skrivit kategori=3 flera gånger. Sorry! Det skulle vara 2-7.
Soffan, prova min kod soch se om den funkar. :)
@ndersMedlem sedan juni 200032 969 inlägg <form action="lankar_radera_redigera2.asp" method="post" name="kategori">
<select name="valj" onchange="kategori.submit()" font-family:Verdana">
<option value="2" <%if cint(rs("kategori"))=2 then Response.write "selected"%>>Webbdesign
<option value="3" <%if cint(rs("kategori"))=3 then Response.write "selected"%>>Animering/film
<option value="4" <%if cint(rs("kategori"))=4 then Response.write "selected"%>>Illustration/3D
<option value="5" <%if cint(rs("kategori"))=5 then Response.write "selected"%>>Programmering
<option value="6" <%if cint(rs("kategori"))=6 then Response.write "selected"%>>Programvaror
<option value="7" <%if cint(rs("kategori"))=7 then Response.write "selected"%>>Övrigt
</select>
</form>
Jag rättade till dina siffror, jag antar att de sista kategorierna skulle jämföras med 5, 6 resp. 7?
"ifsatserna evalueras till sant"
Exempel:
if 1=1 then
' jämförelsen är sann, det som står på båda sidor likhetstecknet är lika
else
' näppe
end if
När man gör jämförelser med IF är resultatet booleskt, dvs kan anta ett av värdena true eller false, sant eller falskt.
Hoppas du förstår.
Mvh,
Ah, det missade även jag. :)
@ndersMedlem sedan juni 200032 969 inlägg Copy & Paste kan vara livsfarligt. :)
Mvh,
Copy & Paste kan vara livsfarligt.
Håller med dig.
Tack i alla fall! :)