Avatar billede steen_hansen Forsker
28. januar 2003 - 21:30 Der er 20 kommentarer og
1 løsning

HASTER!

Hvordan kan jeg vælge om en <input type="checkbox"> skal være sand eller falsk?

Jeg vil have mulighed for, at brugeren kan hakke af/fjerne hakket. Hvordan gemmes det i Access, og hvordan opdateres checkboxen?

Den færdige rå-kodningen efterlyses.
Avatar billede nogetfx Nybegynder
28. januar 2003 - 21:37 #1
Det hele kører på værdien true/false

If Request.Form("chekbox") = true

Kan du ikke komme med en bid af den kode du opdatere/tilføjer i DB'en...
Avatar billede mufoxe Nybegynder
28. januar 2003 - 21:38 #2
<input type="checkbox" checked>

http://www.aspfree.com/faq.asp
Avatar billede hyttemeier Nybegynder
28. januar 2003 - 21:39 #3
Du skal skrive sådan her hvis du vil have at checkboxen skal være mærket af fra starten:
<input type="checkbox" checked />

/Hyttemeier

(Jeg kigger lige lidt på det med at gemme i DB)
Avatar billede steen_hansen Forsker
28. januar 2003 - 21:41 #4
Hej nogetfx!

Jeg vil hellere starte på en frisk, for det jeg har forsøgt mig med, er noget kludder. Du får noget alligevel, men det er noget hø, og jeg kan ikke overskue det:

<%
    If Request.Form("mode") = "edit" Then

        SQL = "UPDATE Artikler SET publicer='" & Request.Form("publicer") & "', publicer=" & publicer  & "' WHERE Artikel_ID = RS('Artikel_ID') & "
        Conn.Execute SQL

        Dim publicer

        If Lcase(Request.Form("publicer")) = "on" Then
            publicer = "true"
        Else
            publicer = "false"
        End If
    End If
%>

<html>

<head></head>

<body>

                            <form name="publicer" method="post" action="default.asp">
                            <input type="hidden" name="mode" value="edit">
                                <input type="checkbox" id="publicer" <% If RS("publicer") = True Then %>checked<% End If %>>&nbsp;&nbsp;<label for="publicer">Artikel er færdig. Publicér artikel.</label>
                                <br>
                                <br>
                                <input type="submit" value="Publicér" class="input1">
                            </form>


</body>
</html>
Avatar billede angelenglen Nybegynder
28. januar 2003 - 21:43 #5
noget i stil med at gemme et 1 i databasen hvis den ikke er checked, og et 2 hvis den er checked, og så noget i stil med:
if $dbvariabel == "1" { document.write("<input type="checkbox">") } elseif $dbvariabel == "2"  { document.write("<input type="checkbox" checked>") } endif

(jeg programerer normalt php, så jeg ved ikke præcis om kommandoerne er korrekte, det er bare den metode jeg bruger.)
Avatar billede steen_hansen Forsker
28. januar 2003 - 21:45 #6
Uden tabulering:

<%
If Request.Form("mode") = "edit" Then

SQL = "UPDATE Artikler SET publicer='" & Request.Form("publicer") & "', publicer=" & publicer  & "' WHERE Artikel_ID = RS('Artikel_ID') & "
Conn.Execute SQL

Dim publicer

If Lcase(Request.Form("publicer")) = "on" Then
publicer = "true"
Else
publicer = "false"
End If
End If
%>

<html>

<head></head>

<body>

<form name="publicer" method="post" action="default.asp">
<input type="hidden" name="mode" value="edit">
<input type="checkbox" id="publicer" <% If RS("publicer") = True Then %>checked<% End If %>>&nbsp;&nbsp;<label for="publicer">Artikel er færdig. Publicér artikel.</label>
<br>
<br>
<input type="submit" value="Publicér" class="input1">
</form>

</body>
</html>
Avatar billede steen_hansen Forsker
28. januar 2003 - 21:45 #7
angelenglen: Det SKAL være i ASP :o)
Avatar billede nogetfx Nybegynder
28. januar 2003 - 21:51 #8
Jeg går ud far at det er det øverste du opdatere med. Har du prøvet at bruge true/false, hvis det hele kører på dansk kan det være sand/falsk. Så jeg vil anbefale at bruge 1/0, ved ikke hvorfor at jeg ikke skrev det først...

If Request.Form("publicer") = 1 Then
publicer = 1
Else
publicer = 1
End If
End If

jeg kan ikke helt huske syntaxen, men den er meget simpel. Så jeg tror det er her omkring..
Avatar billede steen_hansen Forsker
28. januar 2003 - 21:53 #9
mufoxe: Det er jeg såmænd klar over, men det svar er jo ikke det svar jeg efterlyser. Jeg vil gerne kunne hakke af og trykke på knappen "Publicér", eller fjerne hakket og trykke på knappen "Publicér".
Avatar billede steen_hansen Forsker
28. januar 2003 - 21:55 #10
nogetfx: Jeg ville blive MEGET glad for en færdig kode. Det er jo - i virkeligheden - en simpel funktion (bare ikke for mig :o)
Avatar billede nogetfx Nybegynder
28. januar 2003 - 22:05 #11
Fandt det source ... Sagen er bare at jeg opdatere på en anden måde så det er lidt svært at skriv det for dig.

Men som du kan se, så den øverste er en checkbox:

                Opdatering("letter") = "true"
                Opdatering("mailadd") = Trim(Request.QueryString("mailadd"))


har du prøvet at udskrive din sql-sætning..?
Avatar billede steen_hansen Forsker
28. januar 2003 - 22:06 #12
Nej, jeg har ikke udskrevet min SQL-sætning, for VB-scriptet er piv-hamrende fuld af fejl :o/

Kan du lave noget færdig kode?
Avatar billede steen_hansen Forsker
28. januar 2003 - 22:43 #13
Ingen bud?
Avatar billede nogetfx Nybegynder
28. januar 2003 - 23:13 #14
Hmm.. Jeg kan ikke lige gennemskue det pt, jeg kender ikke rigtigt den måed at opdatere på...
Avatar billede bernhof Nybegynder
01. februar 2003 - 13:37 #15
Jeg synes det ser underligt ud, at i koden, som du skrev 28/01-2003 21:45:14 benytter du variablen publicer i SQL-strengen, men du Dim'er den først bagefter.

Prøv at flytte dette:

Dim publicer

If Lcase(Request.Form("publicer")) = "on" Then
publicer = "true"
Else
publicer = "false"
End If

Op foran SQL-strengen...
Avatar billede bernhof Nybegynder
01. februar 2003 - 13:39 #16
Nu jeg tænker mig om, er din SQL-streng noget værre rod.

Den burde nok hedde:

SQL = "UPDATE Artikler SET publicer='" & publicer & "' WHERE Artikel_ID = " & RS("Artikel_ID")
Avatar billede bernhof Nybegynder
01. februar 2003 - 13:41 #17
(hvis altså publicer er et felt af typen Tekst i databasen)
Avatar billede bernhof Nybegynder
01. februar 2003 - 13:53 #18
Hvis publicer er et ja/nej felt med Sand/Flask værdier, skal der ikke ' omkring værdien af publicer:

SQL = "UPDATE Artikler SET publicer=" & publicer & " WHERE Artikel_ID = " & RS("Artikel_ID")
Avatar billede steen_hansen Forsker
01. februar 2003 - 14:14 #19
Det virker, Mikkel. Lægger du et svar?
Avatar billede bernhof Nybegynder
01. februar 2003 - 14:15 #20
(svar)
Avatar billede steen_hansen Forsker
01. februar 2003 - 14:16 #21
Tak for hjælpen :o)
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