03. juli 2002 - 21:03Der er
12 kommentarer og 1 løsning
form igen
Hejsa (ved godt jeg lige har stillet et spørgsmål omkring dette - men bliver nød til at have hjælp igen :-))
Jeg skal have en form, som består af "checkbox" - den checkbox skal "hænge" sammen med en database, sådan når box er "on" bliver checkbox i databasen også "on" - og omvendt, men når man går ind på form siden skal checkboxen stå til det som den gør i databasen. Sådan man kan se på form siden - hvordan den er i databasen (altså 0 eller 1) ind man fx. vælger at lave den om.
Det er det, som jeg har fået lavet, nogle som kan hjælpe mig med det sidste ? ------------------------------------------------
En check-box fra en form giver dig værdien af value delen og ikke om den er checked eller ej. Hvis der er kryds i får du værdien af value: Værdien du skal gemme i databasen skal være 1 for true og 0 for false... Og man skal ikke bruger ' omkring.
Så du skal tjekke på om du får en værdi eller ej:
if request.form("box") <> "" then felt_box = true else felt_box = false end if
Så SQLen: strSQL = "Update tabel set hallo=" & felt_box & " where Id=35"
ok det virker hvis jeg skriver : felt_box = 1 else felt_box = 0
ellers kommer den med fejl (ved ikke hvorfor)
----------Men det er også super------------- Form : <form name="form1" method="post" action="s.asp"> <input type="checkbox" name="box" value="et-eller-anden"> <input type="submit" name="Submit" value="Send"> </form>
Men man må da kunne skrive "et-eller-andet" i value - sådan den går ind i databasen og se efter om det er 0 eller 1 - og hvis den så er 1 i databasen bliver den afkrydset i formen.
Ok. Form skal hvade en default som i databasen, så skal du hendte værdien (true/false) fra databasen på form siden. Man skal i HTML skrive CHECKED i checkboxen hvis der default skal være kryds i den:
<% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("test.mdb") Conn.Open DSN strSQL = "SELECT hallo FROM tabel where Id=35" Set rs=Conn.execute(strSQL) %>
<form name="form1" method="post" action="s.asp"> <input type="checkbox" name="box" value="et-eller-anden" <% if rs("hello") = true then response.write " CHECKED " end if %> > <input type="submit" name="Submit" value="Send"> </form>
"" er en tomstreng. <> betyder forskællig fra (eller ikke lig med)
Så det man tjekker på er om value fra Checkbox'en "box" er forskællig fra en tom streng. Hvis man har sat kryds i den så vil Request.Form("box") være = "et-eller-anden".
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.