hur validerar jag en select box: Du kan låta första boxen ha värdet -1 Varför jämför du arende med en tom sträng? Den enda gång den jäförelsen kan vara sann är ju om du kommer till sidan utan formulärdata. med att sätta nummer i value, då fungerar valideringen, men då följer inte värderna med... kök.. golv osv.. Kanske: hmm ska pröva Hector > men kommer då tex. värdet "Kök" med om de klicka på den?hjälp med validering 2.
så här ser select boxen:
<code>
<select name="arande">
<option value="1" SELECTED> - Välj Ärende -</option>
<option value="Kök">Kök</option>
<option value="Golv">Golv</option>
<option value="Klinker">Klinker</option>
<option value="Ombyggnad">Ombyggnad</option>
</select>
</code>
så här hämtar jag värdet...
<code>arande = trim(request.form("arande"))</code>
o slutligen valideringen
<code>i
f (arande = "") and (send_mail <> "") then
message= message & "<font size=1 face=verdana color=red>» Välj ärende.</font><br>"
end if
</code>
valideringen fungerar till viss del, enligt koden. Problemet är att jag inte vill att den ska läsa första värdet:
<code><option value="1" SELECTED> - Välj Ärende -</option></code>
för att då kan ju användaren ju låta bli att fylla i utan att det kommer nån felmeddelande.
Är det nån som vet vad jag ska göra?
MVH HectorSv: hjälp med validering 2.
<select name="arande">
<option value="-1" SELECTED> - Välj Ärende -</option>
<option value="1">Kök</option>
<option value="2">Golv</option>
<option value="3">Klinker</option>
<option value="4">Ombyggnad</option>
</select>
if arende < "1" then
fel...
end ifSv: hjälp med validering 2.
Ifall du vill känna av värdet som finns i det första valet, så får du ju jämföra med det värdet, alltså "1".Sv:hjälp med validering 2.
kan man vidareutvecladetSv: hjälp med validering 2.
<code>
if LEN((arande ))= 0 and (send_mail <> "") then
message= message & "<font size=1 face=verdana color=red>» Välj ärende.</font><br>"
end if
</code>
Vi kollar alltså om någonting finns i option, jag antar att det var vad du ville.Sv:hjälp med validering 2.
men jag tror inte att det ska va så...
för att som sagt valideringen fungerar, så som pelle sa att jag skulle göra... för att om jag klickar på KÖK tex. då får jag värdet 1. Jag vill allstå att värde 1 ska vara kök.. värde 2 golv osv
värdet ska vidare skickas till mail med cdonts... så jag menar det e inte meningen att ärende ska vara 1.. utan då KÖKSv: hjälp med validering 2.
Du svalde visst inte riktigt min ide i det förra inlägget du hadde.
Eftersom den är så enkel, så vissar jag dig ett KOMPLET script här (byggde det enbart för din skull).
'index.asp
<HTML>
<HEAD>
<TITLE>Validering</TITLE>
</HEAD>
<body>
<CENTER>
<H3>Validering av input</H3></P>
<BR><P><BR>
<FORM METHOD="POST" ACTION="kolla.ASP">
<B>
<%
If request.Querystring("error")<>"" then
Response.Write "<TABLE BORDER=3 BGCOLOR=RED WIDTH=""50%"">
<TR><TD align=center><FONT SIZE = 3 COLOR=WHITE><STRONG>"
Response.Write request.Querystring("error")
Response.Write "</STRONG ></FONT></TD></TR></TABLE>"
End If
%>
<table border="1" CLASS="SKUGGA" cellspacing=0 cellpading=0 width="30%" rules=none>
<TR><TD>Namn:</TD>
<TD><INPUT CLASS="SKUGGA" NAME="Namn" SIZE=20></TD></TR>
<TR><TD>Ort:</TD>
<TD><INPUT CLASS="SKUGGA" NAME="Ort" SIZE=20></TD></TR>
<TR><TD> Telefon:</TD>
<TD><INPUT CLASS="SKUGGA" NAME="Telefon" SIZE=20></TD></TR>
<TR><TD colspan=2 align=center>
<select name="arande">
<option value="1" SELECTED> - Välj Ärende -</option>
<option value="Kök">Kök</option>
<option value="Golv">Golv</option>
<option value="Klinker">Klinker</option>
<option value="Ombyggnad">Ombyggnad</option>
</select>
</TD></TR>
<TR><TD colspan=2>
<INPUT CLASS="BUTTONS" TYPE="SUBMIT" VALUE=" ">
Validera texterna
<INPUT CLASS="BUTTONS" TYPE="RESET" VALUE=" ">
Rännsa
</TD></TD></TABLE>
</FORM></CENTER>
</BODY>
</HTML>
´kolla.asp
<HTML>
<HEAD>
<TITLE>Validering</TITLE>
</HEAD>
<body>
<CENTER><H3>Validering av input</H3></CENTER>
<BR><P><BR>
<%
Dim Kollad
Kollad = False
Call ValideraText(request.form("namn"),1,"Du måste skriva in ett namn!")
Call ValideraText(request.form("ort"),1,"Du måste skriva in en ort!")
Call ValideraText(request.form("Telefon"),1,"Du måste skriva in ett telefonnummer!")
Call ValideraText(request.form("Telefon"),2,"Fyll i ditt nummer, enbart med siffror!")
Call ValideraText(request.form("arande"),3,"Du måste välja ett ärende!")
if Kollad = TRUE then
response.write "<CENTER><H2>NU FUNGERAR KONTROLLERNA</H2></CENTER>"
'Här kan du lägga in if LEN(send_mail) > 0
end if
%>
</BODY>
</HTML>
<%
Sub ValideraText(sText,sWatt,sMessage)
sText = TRIM(sText)
Select Case sWatt
Case 1
if LEN(sText)=0 then
Kollad = False
Response.Redirect "index.asp?error=" & sMessage
end if
Case 2
If isNumeric(sText) Then
Kollad = True
else
Kollad = False
Response.Redirect "index.asp?error=" & sMessage
end if
Case 3
If sText = "1" then
Kollad = False
Response.Redirect "index.asp?error=" & sMessage
end if
End Select
End Sub
%>
Allt vad du behöver göra är att kopiera och klistra in.
Får jag komma med ett förslag?
Gör först en test applikation där du använder min kod, innan du lägger in den i din riktiga, detta
för att du skall kunna förstå hur det hela fungerar.
Lycka till
Sv: hjälp med validering 2.
Om du gör som jag sa, ja.