Avatar billede no_doubt Nybegynder
05. maj 2003 - 16:34 Der er 26 kommentarer og
1 løsning

update, if

Hvordan kan man lave en IF på en checkbox om krydset er fjernet eller ej ?
Avatar billede -mundi- Nybegynder
05. maj 2003 - 16:37 #1
if len(request.form("feltnavn"))>0 then
  udfyldt
else
  ikke udfyldt
end if
Avatar billede -mundi- Nybegynder
05. maj 2003 - 16:38 #2
det kræver dog at din checkbox har en "value"
Avatar billede thomas_regin Nybegynder
05. maj 2003 - 16:38 #3
<input type=checkbox value=yes name=myCheck>

<%
  if Request.Form("myCheck") = "yes" then
      REsponse.Write "Checkboxen er checked"
  Else
      Response.Write "Checkboxen er IKKE checked"
  End If
%>

Mvh,

/thomas regin
Avatar billede no_doubt Nybegynder
05. maj 2003 - 16:39 #4
kan man ikke lave noget med
If request.form("laest_brev") "CHECKED" Then

OG
If request.form("laest_brev") = "UNCHECKED" Then
Avatar billede thomas_regin Nybegynder
05. maj 2003 - 16:40 #5
Nej!.. Hvis du ikke har nogen value, så hedder det:

if Request.Form("laest_brev") = "ON" then
Response.Write "Er checked"
End If

If Request.Form("laest_brev") = "OFF" then
Response.Write "Er ikke checked"
End if

Mvh,

/thomas regin
Avatar billede -mundi- Nybegynder
05. maj 2003 - 16:41 #6
ehhh ?
Avatar billede thomas_regin Nybegynder
05. maj 2003 - 16:43 #7
Mundi,

Checkbox har en default value på ON/OFF, hvis ikke andet er specificeret i din <input type=checkbox name="laest_brev">

/thomas regin
Avatar billede no_doubt Nybegynder
05. maj 2003 - 16:46 #8
<%
If request.form("laest_brev") = "OFF" Then
set conn = server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("post.mdb")
strSQL = "update post set laest=true where post_id IN ("& request.form("laest_brev")&")"
Conn.Execute(strSQL)
Conn.Close
end if
%>
Sådan ser det der skal køres ud, og sådan ser mine checkbokse ud
<% if rs("laest")=true then%><input type="checkbox" onclick="this.form.submit(this)" name="laest_brev" value="<%=rs("post_id")%>" checked><%else%><input type="checkbox" onclick="this.form.submit(this)" name="laest_brev" value="<%=rs("post_id")%>"><%end if%>
Avatar billede -mundi- Nybegynder
05. maj 2003 - 16:47 #9
vidste ikke at der var en default value der hed "on" så lærte jeg også lidt idag. Men det med off kan jeg ikke få til at virke ?
Avatar billede thomas_regin Nybegynder
05. maj 2003 - 16:48 #10
Okay!.. Så ser jeg fejlen ;)

<input type="checkbox" onclick="this.form.submit(this)" name="laest_brev" value="<%=rs("post_id")%>" checked>

Du har sat dennes Value-tag til at være en database-ting! Det må den IKKE være!

Prøv istedet med:

<input type="checkbox" onclick="this.form.submit(this)" name="laest_brev" checked>

Og lad resten af koden være, som du plejer!

Mvh,

/thomas regin
Avatar billede -mundi- Nybegynder
05. maj 2003 - 16:51 #11
han skal jo netop bruge den value til noget ..

eks:

<%
If len(request.form("laest_brev"))>0 Then
set conn = server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("post.mdb")
strSQL = "update post set laest=true where post_id IN ("& request.form("laest_brev")&")"
Conn.Execute(strSQL)
Conn.Close
end if
%>
Sådan ser det der skal køres ud, og sådan ser mine checkbokse ud
<%
dim checked
if rs("laest")=true then
    checked=" checked"
else
    checked=""
end if%>
<input type="checkbox" onclick="this.form.submit(this)" name="laest_brev" value="<%=rs("post_id")%>"<%=checked%>>
Avatar billede thomas_regin Nybegynder
05. maj 2003 - 16:51 #12
Mundi,

Muligvis fordi den KUN har en default value, der hedder "on", så!

No_doubt,

Hvis det er rigtigt, så skal du lige ændre lidt mere i din kode:

<%
If not request.form("laest_brev") = "isON" Then
set conn = server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("post.mdb")
strSQL = "update post set laest=true where post_id IN ("& request.form("laest_brev")&")"
Conn.Execute(strSQL)
Conn.Close
end if
%>

<% if rs("laest")=true then%><input type="checkbox" onclick="this.form.submit(this)" name="laest_brev" value="isON" checked><%else%><input type="checkbox" onclick="this.form.submit(this)" name="laest_brev" value="isON"><%end if%>

Mvh,

Thomas regin.
Avatar billede thomas_regin Nybegynder
05. maj 2003 - 16:52 #13
Oki!.. Så blander jeg mig uden om! *G* ;)
Avatar billede no_doubt Nybegynder
05. maj 2003 - 16:58 #14
Det skal ganske enkelt være sådan at hvis man fjerne krydset skal det pågældene id's laest kolonne sættes til false.. thats it..
og jeg ønsker at bevare den nuværende kode ved checkboksene
Avatar billede no_doubt Nybegynder
05. maj 2003 - 17:04 #15
se evt.
http://www.mark-mikkelsen.dns2go.com/post/default.asp
Når begge er læse prøv så
at markere krydset udfor ss, så skulle det være den der blev ulæst men det er sssss hvordan kan det være
Avatar billede -mundi- Nybegynder
05. maj 2003 - 17:08 #16
<%
If request.servervariables("REQUEST_METHOD") = "POST" Then
set conn = server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("post.mdb")
strSQL = "update post set laest="&request.form("laest_brev")>0&" where post_id IN ("& request.form("laest_brev")&")"
Conn.Execute(strSQL)
Conn.Close
end if
%>
Sådan ser det der skal køres ud, og sådan ser mine checkbokse ud
<% if rs("laest")=true then%><input type="checkbox" onclick="this.form.submit(this)" name="laest_brev" value="<%=rs("post_id")%>" checked><%else%><input type="checkbox" onclick="this.form.submit(this)" name="laest_brev" value="<%=rs("post_id")%>"><%end if%>

prøv det her
Avatar billede no_doubt Nybegynder
05. maj 2003 - 17:32 #17
virkede ikke..
Avatar billede -mundi- Nybegynder
05. maj 2003 - 17:34 #18
hmm så er det måske fordi du submitter for hurtigt, prøv at ændre onclick="this.form.submit(this)" til onchange="this.form.submit(this)"
Avatar billede -mundi- Nybegynder
05. maj 2003 - 17:37 #19
<%
If request.servervariables("REQUEST_METHOD") = "POST" Then
set conn = server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("post.mdb")
strSQL = "update post set laest="&len(request.form("laest_brev"))>0&" where post_id IN ("& request.form("laest_brev")&")"
Conn.Execute(strSQL)
Conn.Close
end if
%>
Sådan ser det der skal køres ud, og sådan ser mine checkbokse ud
<% if rs("laest")=true then%><input type="checkbox" onclick="this.form.submit(this)" name="laest_brev" value="<%=rs("post_id")%>" checked><%else%><input type="checkbox" onclick="this.form.submit(this)" name="laest_brev" value="<%=rs("post_id")%>"><%end if%>
Avatar billede -mundi- Nybegynder
05. maj 2003 - 17:38 #20
det er den her der er ændret :

strSQL = "update post set laest="&len(request.form("laest_brev"))>0&" where post_id IN ("& request.form("laest_brev")&")"
Avatar billede no_doubt Nybegynder
05. maj 2003 - 17:45 #21
Microsoft JET Database Engine error '80040e14'

Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.

/post/default.asp, line 32
Avatar billede no_doubt Nybegynder
05. maj 2003 - 17:49 #22
en der vil have siden så du kan finde ud af det ?
Avatar billede -mundi- Nybegynder
05. maj 2003 - 17:50 #23
kan du ikke lægge siden og databasen i en zip fil og så poste et link til det ? Kan ikke modtage mdb filer her hvor jer sidder
Avatar billede no_doubt Nybegynder
05. maj 2003 - 17:52 #24
Avatar billede no_doubt Nybegynder
05. maj 2003 - 17:53 #25
Kort:
Alle læse breve har et kryd i laest_brev checkboksen
Fjerner man det kryds skal det være unmarked OG ulaest (=false) i databasen, de andre skal være som før klikket
Avatar billede no_doubt Nybegynder
06. maj 2003 - 21:38 #26
Nogen der ser på det ?
Avatar billede no_doubt Nybegynder
08. juni 2003 - 14:42 #27
Lukke, ville jo have den modsatte effekt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester