Diverse tjek på formularfelter
Jeg skal tjekke hvad en bruger markerer i 3 radiobuttons:Vis mit navn i min profil:
1. Ja
2. Nej
3. Delvist
Nedenunder er der 3 tekstfelter, som RS("firstname"), RS("middlename") og RS("lastname") bliver trukket ud i. Brugerne skal have mulighed for at ændre navn; man kunne jo f.eks. gå hen og blive gift: value="<%=Server.HTMLEncode(NoNull(RS("firstname")))%>")
1. Fornavn
2. Mellemnavn
3. Efternavn
Ud for hvert felt, kan man vælge at hakke af i en checkbox ud for de felter, som man ønsker vist i sin profil (hvis man da ønsker det). Ønsker man kun sit fornavn vist, hakker man kun af i checkboksen ud for fornavnet. Ønsker man kun efternavnet vist, vælger man kun det etc. Man kan selv kombinere efter eget ønske. Man skal dog så lige huske at hakke af i mindst én af dem, hvis man har valgt "Delvist".
Har man markeret Nej (radio), skal markeringen fra alle checkboxe fjernes.
Har man markeret Ja (radio), skal alle checkboxe markeres. Dog skal der kun markeres i For- og efternavn, hvis mellemnavn-feltet ikke er udfyldt (for- og efternavn er obligatorisk ved oprettelse af profil, ikke mellemnavn, da man måske ikke har noget). Men ellers skal der markeres i alle felter.
Nu vil jeg gerne tjekke for de forskellige kombinationer:
Der er valgt NEJ (1):
Alle markeringer fra checkboxe skal fjernes.
Der er valgt JA (2):
Alle checkboxe skal markeres.
Der er valgt DELVIST (3):
Mindst én af checkboksene skal være valgt. Hvis alle checkboxe = 0 (ingen af dem er markerede), skal jeg have lavet noget á la dette:
Hvis DELVIST = 3 Og ingen af checkboxene er markerede Så
Response.Reirect("/error.asp?msg=Du+skal+foretage+mindst+ét+valg!"
Hvad jeg foreløbigt har lavet, får du her:
<%
Dim showfullname
If LCase(Request.Form("showfullname")) = 1 Then
showfullname = 1
ElseIf LCase(Request.Form("showfullname")) = 2 Then
showfullname = 2
ElseIf LCase(Request.Form("showfullname")) = 3 Then
showfullname = 3
End If
If LCase(Request.Form("showfullname")) <> 1 Then
Dim showfirstname
If Lcase(Request.Form("showfirstname")) = "on" Then
showfirstname = 1
Else
showfirstname = 0
End If
Else
showfirstname = 0
End If
If LCase(Request.Form("showfullname")) <> 1 Then
Dim showmiddlename
If Lcase(Request.Form("showmiddlename")) = "on" Then
showmiddlename = 1
Else
showmiddlename = 0
End If
Else
showmiddlename = 0
End If
If LCase(Request.Form("showfullname")) <> 1 Then
Dim showlastname
If Lcase(Request.Form("showlastname")) = "on" Then
showlastname = 1
Else
showlastname = 0
End If
Else
showlastname = 0
End If
%>
<tr>
<td align="left" colspan="5">
<table border="0" cellpadding="0" cellspacing="0" class="full">
<tr>
<td align="left" style="width: 40%;">Jeg ønsker mit navn vist i min profil:</td>
<td align="left" style="width: 5%;"><input type="radio" value="1" name="showfullname"<% If RS("showfullname") = 1 Then %> checked<% End If %>></td><td align="left" style="width: 4%;">Nej</td>
<td align="left" style="width: 5%;"><input type="radio" value="2" name="showfullname"<% If RS("showfullname") = 2 Then %> checked<% End If %>></td><td align="left" style="width: 4%;">Ja</td>
<td align="left" style="width: 5%;"><input type="radio" value="3" name="showfullname"<% If RS("showfullname") = 3 Then %> checked<% End If %>></td><td align="left" style="width: 37%;">Delvist, jeg vælger selv</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="td1"><input type="checkbox" id="showfirstname" name="showfirstname"<% if RS("showfirstname") = 1 Then %> checked<% End If %>></td>
<td align="left" class="td2">Fornavn:</td>
<td align="left" class="td3"><input type="text" name="firstname" value="<%=Server.HTMLEncode(NoNull(RS("firstname")))%>" class="input1" style="width: 208px;" class="input1"></td>
<td align="left" class="td4"></td>
<td class="td5"> </td>
</tr>
<tr>
<td class="td11"><input type="checkbox" id="showmiddlename" name="showmiddlename"<% if RS("showmiddlename") = 1 Then %> checked<% End If %>></td>
<td align="left" class="td22">Mellemnavn:</td>
<td align="left" class="td33"><input type="text" name="middlename" value="<%=Server.HTMLEncode(NoNull(RS("middlename")))%>" class="input1" style="width: 208px;" class="input1"></td>
<td align="left" class="td44"></td>
<td class="td55"> </td>
</tr>
<tr>
<td class="td1"><input type="checkbox" id="showlastname" name="showlastname"<% if RS("showlastname") = 1 Then %> checked<% End If %>></td>
<td align="left" class="td2">Efternavn:</td>
<td align="left" class="td3"><input type="text" name="lastname" value="<%=Server.HTMLEncode(NoNull(RS("lastname")))%>" class="input1" style="width: 208px;" class="input1"></td>
<td align="left" class="td4"></td>
<td class="td5"> </td>
</tr>
Det var en ordentlig smøre. Håber du forstår mit ønske:
Vælg 1 for ikke at vise navn
Vælg 2 for at vise det fulde navn
Vælg 3 for at vælge selv, hvad der skal vises
