Det du skickar här är en asp kod... du får kontrollera alla dina select name om det har ett värde eller inte.
txtPersonnr_day, txtPersonnr_month, txtPersonnr_year
8 svar · 652 visningar · startad av WebbisNet
Hur kollar jag så att man anger ett värde
<% PrintDateBox2 "txtPersonnr", txtPersonnr %>
Sub PrintDateBox2(boxname,vdate)
dim strYearValue,strMonthValue,strDayValue
if vdate <> "invalid" then
strYearValue = trim(year(vdate))
strMonthValue = trim(month(vdate))
strDayValue = trim(day(vdate))
else
strYearValue = "-1"
strMonthValue = "-1"
strDayValue = "-1"
end if
redim months(11)
months(0) = "Jan"
months(1) = "Feb"
months(2) = "Mar"
months(3) = "Apr"
months(4) = "Maj"
months(5) = "Jun"
months(6) = "Jul"
months(7) = "Aug"
months(8) = "Sep"
months(9) = "Okt"
months(10) = "Nov"
months(11) = "Dec"
dim i
'dag
Response.Write "<select name=""" & boxname & "_day"">" & vbCrLf
response.write "<option value=""""></option>"
for i = 1 to 31
Response.Write "<option"
if cint(i) = cint(strDayValue) then
Response.Write " selected"
end if
Response.Write " value=""" & i & """>" & i & "</option>" & vbCrLf
next
Response.Write "</select> - "
'månad
Response.Write "<select name=""" & boxname & "_month"">" & vbCrLf
response.write "<option value=""""></option>"
for i = 1 to 12
Response.Write "<option"
if cint(i) = cint(strMonthValue) then
Response.Write " selected"
end if
Response.Write " value=""" & i & """>" & months(i - 1) & "</option>" & vbCrLf
next
Response.Write "</select> - "
'år
Response.Write "<select name=""" & boxname & "_year"">" & vbCrLf
response.write "<option value=""""></option>"
for i = year(now)-75 to year(now)-13
Response.Write "<option"
if cint(i) = cint(strYearValue) then
Response.Write " selected"
end if
Response.Write " value=""" & i & """>" & i & "</option>" & vbCrLf
next
Response.Write "</select>"
End Sub
Det du skickar här är en asp kod... du får kontrollera alla dina select name om det har ett värde eller inte.
txtPersonnr_day, txtPersonnr_month, txtPersonnr_year
det går ju inte kolla med request.form så hur skriver man skmidigast, är trött på att medlemmar inte fyller i nåt vid registrering
Vill du göra det med Javascript ELLER ASP?
Visst går det med ASP med request.form... men du har "dynamiskt namn" på din funktion / sub
Så på ditt exempel får du ta Request.Form("txtPersonnr_day") , Request.Form("txtPersonnr_month") och Request.Form("txtPersonnr_year") Går även med javascript med folk kan stänga av javascript och då få du felet ändå.
så här då
<%if Request.Form("txtPersonnr_day") and Request.Form("txtPersonnr_month") and Request.Form("txtPersonnr_year") = "" then
response.redirect "reg-form.asp"
end if%>
Du skriver i "klartext":
Om txtPerson_day är sant och txtPersonnr_month är sant och txtPersonnr_year är lika med "" då ska du gå till reg-form.asp
Hade nog skrivit:
If Request.Form("txtPersonnr_day") = "" Or Request.Form("txtPersonnr_month") = "" Or Request.Form("txtPersonnr_Year") = "" Then
'Något av de 3 val är lika med INGET gå till sidan igen
End If
Nu är det Om två är OK men inte det 3 så skall den ändå gå till tillbaka.
voigtann1 skrev:
Du skriver i "klartext":
Om txtPerson_day är sant och txtPersonnr_month är sant och txtPersonnr_year är lika med "" då ska du gå till reg-form.asp
Hade nog skrivit:
If Request.Form("txtPersonnr_day") = "" Or Request.Form("txtPersonnr_month") = "" Or Request.Form("txtPersonnr_Year") = "" Then 'Något av de 3 val är lika med INGET gå till sidan igen End IfNu är det Om två är OK men inte det 3 så skall den ändå gå till tillbaka.
är det inte bäst att ha 3 sanna eftersom sidan kan ge ett felmeddelande om nåt fält inte har värde, standard i db innan värde har angetts är 0000-00-00
Tror i detta fallet så spelar det inte någon roll om man kör 'And' eller 'Or' Tror även du inte behöver skriva = "". Jag har lärt mig att man alltid ska vara så negativ över vad användaren fyller i... inte vad vi vill att han ska fylla i. Exempelvis:
Dim hasAccess
hasAccess = True
If Not Request.Form("name") = "Bob" Then
hasAccess = False
End If
Dvs vi ska aldrig ta för givet att man har tillgång utan om man uppfyller kriterierna det är DÅ du får tillgången.
Allt över 0 och "" är True om jag tänker rätt så visst. Spelar ingen roll vad du har för standard värde i databasen. Du vill egentligen inte tillåta "noll" värden i din registering om du vill ha att användaren måste ha ett födelsedata.
Låt hellre sätta fältet i databasen att den inte får vara lika med null och ge hellre ett felmeddelande än att du gör undantag att det får vara noll värde i din databas på sådna fält.
Flyttas: JavaScript, DHTML -> ASP