Problemer med ikke-tomt recordset, If LCase(Request.Form("TimeOffStart")) = "on" Then osv.
Jeg prøver at sætte det op for kunderne, så de kan vælge f.eks. afspadsering, ferie, barsel mv v.hj.a. af to datepickere:"Jeg afspadserer fra og med [dd-mm-åååå, datepicker #1] til og med [dd-mm-åååå, datepicker #2]"
Hvis kunden så har valgt en afspadserings-startdato og en afspadserings-slutdato, sætter jeg en checkbox på, som vil være checked, undlader datepickerne, men udskriver i stedet datoen:
"[checkbox, checked] Jeg afspadserer fra og med 20-05-2021 til og med 24-05-2021."
Inden datepickerne er udfyldt og submitted er de synlige.
Når datepickerne er udfyldt og submitted, vil datepickerne ikke være synlige. I stedet udskrives de to datoer.
Meningen er så, at når man fjerner hakket fra checkbox og submitter, så fjernes datoen fra recordset, og man kan derefter ændre datoen til en ny, hvis man har lavet en fejl, eller hvis man aftaler en anden dato med chefen. Det går så ikke, som jeg har forventet. Her er hele HTML + ASP (jeg benytter MySQL):
<!DOCTYPE html>
<html lang="da" dir="ltr" class="loggedin">
<%
Set RS = Conn.Execute("SELECT username, TakingSomeTimeOff, TimeOffStart, TimeOffEnd settings WHERE username = '" & SQLEncode(Session("username")) & "'")
If Request("mode") = "editsettings" Then
Dim TimeOffStart2, TimeOffEnd2
If RS("TimeOffStart") <> "" Then
TimeOffStart2 = RS("TimeOffStart")
TimeOffEnd2 = RS("TimeOffEnd")
Else
TimeOffStart2 = ""
TimeOffEnd2 = ""
End If
Dim TakingSomeTimeOff, TimeOffStart1, TimeOffEnd1
If RS("TimeOffStart") = "" Then
If Request.Form("TimeOffStart") <> "" Then
TakingSomeTimeOff = 1
TimeOffStart1 = Request.Form("TimeOffStart")
TimeOffEnd1 = Request.Form("TimeOffEnd")
Else
TakingSomeTimeOff = 0
TimeOffStart1 = ""
TimeOffEnd1 = ""
End If
ElseIf RS("TakingSomeTimeOff") = 1 Then
If Request.Form("TakingSomeTimeOff") = "" Then
TakingSomeTimeOff = 0
TimeOffStart1 = ""
TimeOffEnd1 = ""
Else
TakingSomeTimeOff = 1
TimeOffStart1 = TimeOffStart2
TimeOffEnd1 = TimeOffEnd2
End If
End If
Conn.Execute "UPDATE settings SET TakingSomeTimeOff = " & TakingSomeTimeOff & ", TimeOffStart = " & TimeOffStart1 & ", TimeOffEnd = " & TimeOffEnd1 & " WHERE username = '" & SQLEncode(Session("username")) & "'"
Conn.Close
Response.Redirect "/..............."
<head>
<title>Dine indstillinger</title>
</head>
<body>
<form action="/profile/settings/" method="post">
<input type="hidden" name="mode" value="editsettings">
<% If RS("TakingSomeTimeOff") = 0 Then %>
<div class="col-md-12 form-group my-0 row form-inline">
<div class="col-md-4 form-inline">
Jeg afspadserer fra og med
</div>
<div class="col-md-7 form-inline">
<input type="date" id="TimeOffStart" name="TimeOffStart" class="form-control datepicker"><span class="ml-3 mr-3">til og med</span><input type="date" id="TimeOffEnd" name="TimeOffEnd" class="form-control datepicker">
</div>
</div>
<% ElseIf RS("TakingSomeTimeOff") = 1 Then %>
<div class="col-md-12 form-inline">
<input type="checkbox" name="TakingSomeTimeOff" id="TakingSomeTimeOff" autofocus="autofocus" class="form-check-input"<% If RS("TakingSomeTimeOff") = 1 Then %> checked<% End If %>> Jeg afspadserer fra og med den <%=RS("TimeOffStart")%> til og med den <%=RS("TimeOffEnd")%>.
</div>
<% End If %>
</form>
</body>
</html>
Jeg har været LANGT omkring med at få det til at spille. Det ovenstående eksempel er det seneste forsøg, det har stået på over flere dage. Håber virkelig på hjælp.