Hej JAg brukar göra som så, att jag kollar detta när jag tar imot det hela. HejSkicka inte första värdet i en dropdown
I ett formulär har jag en dropdown meny som hämtar värden från en SQL databas. Första värdet i dropdownmenyn är "välj kategori" detta alternativ ligger i scriptet. Hur gör jag för att "ej tillåta" första värdet dvs besökare måste välja en kategori för att formuläret skall skickas.
<code>
' **** bygger en drop down meny på valfri tabell ********
Function ByggDropDownMeny(strSQL, strSQLNamnFalt, strSQLIdFalt, strKontrollNamn, blnEjVald, lngForvaldID, blnSynlig, strEvent)
Dim objRS ' recordset
Dim strVisible
if blnSynlig = false then
strVisible = "VISIBILITY: hidden;"
else
strVisible = "VISIBILITY: visible;"
end if
If lngForvaldID = "" then lngForvaldID = 0
' till Ej vald alternativ om det är valt
if blnEjVald = true then
ByggDropDownMeny = ByggDropDownMeny & "<OPTION SELECTED VALUE='0'>"
'ALTERNATIVET "kategori" SKALL INTE SKICKAS HUR GÖR MAN????????
ByggDropDownMeny = ByggDropDownMeny & "Välj kategori"
end if
'Skapa recordset
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, objConn
'Loopa ut samtliga rader
Do While Not objRs.EOF
'Skapa dropdownlista på samtliga specialiteter i bokstavsordning
strVald = ""
if CLng(lngForvaldID) = CLng(objRS(strSQLIdFalt)) then strVald = " SELECTED "
ByggDropDownMeny = ByggDropDownMeny & "<OPTION " & strVald & " VALUE='"&objRS
strSQLIdFalt)&"'>"
ByggDropDownMeny = ByggDropDownMeny & objRS(strSQLNamnFalt)
objRS.MoveNext
Loop
' lägg till form object för drop down lista 'style=""" & strVisible & """
ByggDropDownMeny = "<SELECT " & strEvent & " NAME=" & strKontrollNamn & "
STYLE=""width:180px;"" SIZE=1>" & ByggDropDownMeny
ByggDropDownMeny = ByggDropDownMeny & "</SELECT>"
'Stäng och städa upp
objRS.Close
Set objRS=Nothing
End Function
'functionen hämtas med följande
<div name="box1" id=box1 style="visibility:<%=iif(strSokTyp="A","visible","hidden")%>;
POSITION:absolute; TOP:40px; LEFT:10px; ">
<table><td width=85>Kategori?</td><td>
<%= ByggDropDownMeny
("SELECT kategoriid, kategori FROM mtblVardnuKategori
ORDER BY kategoriid", " kategori", " kategoriid", "A", true,
Request ("A"),true,"onClick='javascript:visa2(A.value);'") %>
</td>
</table>
</div>
</code>
Tacksam för svar
TedSv: Skicka inte första värdet i en dropdown
I din "motagarfil":
if requestform("dropdown")="välj kategori" then
response.direct "dinSida.asp"
end if
Det finns säkert bättre sätt att göra det på, men det fungerar.
PS
requestform skall ju vara namnet på din dropdown
DS
Sv:Skicka inte första värdet i en dropdown
Tack för ditt svar
Jag ville ha en kommentar som t ex "kategori saknas och jag ville inte byta sida så jag gjorde så här: och det fungerar perfekt. Tänkte annars att det kanske finns något enkelt sätt att bara utesluta alternativ ett i menyn, med det funkar bra så här också.
Din lösning har jag nytta av i ett annat sammanhang
Tack för hjälpen / Ted
<code>
'utskrift av felmeddelande i formuläret
<%
if strPlats = "" THEN
response.write "<b><center>"&"<font color=#CC3300>Ange ort, kommun eller län"&"<b/></center><br>"
ELSE
if intSokUnderTypID= "0" THEN
response.write "<b><center>"&"<font color=#CC3300>Kategori saknas"&"<b/></center><br>"
ELSE
if intInriktningID= "0" THEN
response.write "<b><center>"&"<font color=#CC3300>Specialitet saknas"&"<b/></center><br>"
ELSE
End if
End if
End if
%>
<code>
'I slutet av sidan har jag detta
<%
if strPlats <> "" then
if intSokUnderTypID <> "0" then
if intInriktningID <> "0" then
'om allt är ok så körs denna subrutinen annars inte
if blnSok then KorSokning strSQL, strSokURL
else
end if
end if
end if
end sub
SuperSok
%>
</code>