Toon posts:

[ASP] Checkbox wordt niet meegenomen?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een drietal pagina's gemaakt (gebaseerd op een van de asp lessen. http://www.madness.nl) namelijk change.asp, change_b.asp en change_c.asp
Op de tweede pagina worden de gegevens weergegeven en kunnen ze worden veranderd. dit heb ik als volgt gedaan:

Change_b.asp
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<% IF objRec.Fields("Dolby_Digital").Value = True THEN %>
<input type="checkbox" name="C1" value="True" checked></td>
<% ELSE %
<input type="checkbox" name="C1" value="False"></td>
<%END IF %>

<% IF objRec.Fields("DTS").Value = True THEN %>
<input type="checkbox" name="C2" value="True" checked></td>
<% ELSE %
<input type="checkbox" name="C2" value="False"></td>
<%END IF %>

<% IF objRec.Fields("THX").Value = True THEN %>
<input type="checkbox" name="C3" value="True" checked></td>
<% ELSE %
<input type="checkbox" name="C3" value="False"></td>
<%END IF %>


Change_c.asp
code:
1
2
3
SQLUpdate = SQLUpdate & "Dolby_Digital = '" & C1 & "'
SQLUpdate = SQLUpdate & "DTS = '" & C2 & "'
SQLUpdate = SQLUpdate & "THX = '" & C3 & "'


maar nu is het vreemde dat als ik de waarde true zet in de tabel, hij deze goed uitleest, maar als ik deze wijzig hij de waarde false geeft en ik niet de waarde true kan krijgen? tevens als ik een waarde verander, hij toch de twee anderen verander in false?

What am i doing wrong? any pointers? anyone?

[ Voor 21% gewijzigd door Verwijderd op 07-12-2005 10:14 ]


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 21-04 13:13
Ben je neit in de war met radiobuttons, ipv checkboxen?
HTML:
1
2
<input type="radio" name="C1" value="True" checked="checked" />
<input type="radio" name="C1" value="False" />


Verder heten zowel je 2de als 3de boxen "C2", pc dat de derde "C3" heet.

[ Voor 71% gewijzigd door frickY op 07-12-2005 10:13 ]


Verwijderd

Topicstarter
Nope checkboxen! ;)

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 21-04 13:13
Wat doe je dan als ik beide checkboxen aanzet? Dus die voor zowel true als false?
Wel eens gekeken hoe de POST dat binnen komt?

//Edit
Ahh ik snapte je vraagstelling niet. Snap nu wat je bedoeld.
Je probleem is dat als een checkbox niet is aangevinkt, zijn value niet wordt gepost.
In je Change_c.asp zul je dus moeten afvangen of de waarde bestaat. Zoja, true, zo niet, false.

[ Voor 54% gewijzigd door frickY op 07-12-2005 10:18 ]


Verwijderd

Topicstarter
Hij geeft maar een keuze mogelijkheid..
namelijk:

<% IF objRec.Fields("Dolby_Digital").Value = True THEN %>
Als deze waarde true is dan zal hij dit weergeven:
<input type="checkbox" name="C1" value="True" checked></td>
is de waarde False dan zal hij dit weergeven:
<% ELSE %
<input type="checkbox" name="C1" value="False"></td>
<%END IF %>

verander ik de waarde door de checkbox aan of uit te vinken, zou hij de waarde mee moeten nemen naar de change_c.asp pagina waar hij de waardes in de tabel plaatst:

SQLUpdate = SQLUpdate & "Dolby_Digital = '" & C1 & "'
SQLUpdate = SQLUpdate & "DTS = '" & C2 & "'
SQLUpdate = SQLUpdate & "THX = '" & C3 & "'

Maar dat doet hij niet? :?

[ Voor 20% gewijzigd door Verwijderd op 07-12-2005 10:20 ]


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op woensdag 07 december 2005 @ 10:20:
Hij geeft maar een keuze mogelijkheid..
namelijk:

<% IF objRec.Fields("Dolby_Digital").Value = True THEN %>
Als deze waarde true is dan zal hij dit weergeven:
<input type="checkbox" name="C1" value="True" checked></td>
is de waarde False dan zal hij dit weergeven:
<% ELSE %
<input type="checkbox" name="C1" value="False"></td>
<%END IF %>

verander ik de waarde door de checkbox aan of uit te vinken, zou hij de waarde mee moeten nemen naar de change_c.asp pagina waar hij de waardes in de tabel plaatst:

SQLUpdate = SQLUpdate & "Dolby_Digital = '" & C1 & "'
SQLUpdate = SQLUpdate & "DTS = '" & C2 & "'
SQLUpdate = SQLUpdate & "THX = '" & C3 & "'

Maar dat doet hij niet? :?
Wat is de waarde die je terug krijgt van de form?
Voordat je iets naar de database toe zet moet eerst weten welke gegevens je terug krijgt van de form.

Dus ipv gelijk een query te bouwen. Gooi eerst eens alle data op het scherm terug. Kijk er dan nog eens rustig naar, en denk dat je dan al snel ziet wat je fout doet.

Programmer - an organism that turns coffee into software.


Verwijderd

Topicstarter
heb de data uitgelezen in een pagina en hij geeft de waardes goed door!
Dus aan gevinkt geeft hij "true" als waarde.
Vink ik hem uit geeft hij de waarde " " die gelijk staat aan false..
dus zou er iets niet kloppen met mij change_c.asp pagina? tenminste dat moet wel als de waarde goed gepost worden...

ASP.NET Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
    <%

Dim strCon
Dim objCon
Dim Name, Director, Cast, Genre, AspectRatio, Region, Runtime, Description, DolbyDigital, DTS, THX, Picture

' Zet de ingevulde waarden van het formulier in een lokale variabele.
id = request.form("id")
Name = request.form("Name")
Director = request.form("Director")
Cast = request.form("Cast")
Genre = request.form("Genre")
AspectRatio = request.form("AspectRatio")
Region = request.form("Region")
Runtime = request.form("Runtime")
Description = request.form("Description")
C1 = request.form("C1")
C2 = request.form("C2")
C3 = request.form("C3")
Picture = request.form("Picture")


' Zet de connectiestring in de variabele. Hier is dit dus een ODBC connectie.
strCon = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=Database;Data Source=Servernaam\SQLEXPRESS;"

' Maak een serverobject aan voor de connectie (ObjectConnectie -> objCon)
' Open de verbinding met de database. Voor objCon wordt er een 
' verbinding geopend met opgegeven database.
Set objCon = Server.CreateObject ( "ADODB.Connection" )
objCon.Open strCon

' De SQL query die de gegevens in de database wijzigd. 
SQLUpdate = "UPDATE collection SET name = '" & name & "', Director = '" & Director & "',"
SQLUpdate = SQLUpdate & "Cast = '" & Cast & "',Genre = '" & Genre & "',"
SQLUpdate = SQLUpdate & "Runtime = '" & Runtime & "',Description = '" & Description & "',"
SQLUpdate = SQLUpdate & "Dolby_Digital = '" & C1 & "',DTS = '" & C2 & "',"
SQLUpdate = SQLUpdate & "THX = '" & C3 & "',Picture = '" & Picture & "',"
SQLUpdate = SQLUpdate & "Aspect_Ratio = '" & AspectRatio & "',Region = '" & Region & "' WHERE id =" & id


' Maak een object objUpdate aan. Open dit record met bepaalde waarden
set objUpdate = objCon.execute(SQLUpdate)

' Sluit de recordset en de verbinding af omdat we die niet meer gebruiken.
Set objUpdate = Nothing
objCon.close
set objCon = Nothing 

%>


vreemd! :?

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Welke waarde geeft deze checkbox terug als je hem aanvinkt?
code:
1
<input type="checkbox" name="C1" value="False">

[ Voor 22% gewijzigd door LuCarD op 07-12-2005 11:11 ]

Programmer - an organism that turns coffee into software.


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Wat je verkeerd doet is op regels 4, 10 en 16 in je eerste listing in je TS... je moet altijd de value "True" meegeven, anders wordt bij het aanvinken van een checkbox die initieel uit stond de waarde False doorgegeven.
edit:

crap you LuCarD ;)

[ Voor 11% gewijzigd door bigbeng op 07-12-2005 11:14 ]


Verwijderd

Topicstarter
LuCarD schreef op woensdag 07 december 2005 @ 11:11:
Welke waarde geeft deze checkbox terug als je hem aanvinkt?
code:
1
<input type="checkbox" name="C1" value="False">
aangevinkt geeft hij "true" als waarde.
Vink ik hem uit geeft hij de waarde " " die gelijk staat aan false..

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op woensdag 07 december 2005 @ 11:15:
[...]


aangevinkt geeft hij "true" als waarde.
Vink ik hem uit geeft hij de waarde " " die gelijk staat aan false..
True? Errmm waar haalt hij true vandaan?

Programmer - an organism that turns coffee into software.


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Verwijderd schreef op woensdag 07 december 2005 @ 11:15:
[...]


aangevinkt geeft hij "true" als waarde.
Vink ik hem uit geeft hij de waarde " " die gelijk staat aan false..
Denk nog heel even goed na wat er gebeurt als niet de waarde 'True' uit de database komt en je vervolgens de checkbox aanvinkt en opnieuw het form post... wat is je value dan?

Verwijderd

Topicstarter
bigbeng schreef op woensdag 07 december 2005 @ 11:13:
Wat je verkeerd doet is op regels 4, 10 en 16 in je eerste listing in je TS... je moet altijd de value "True" meegeven, anders wordt bij het aanvinken van een checkbox die initieel uit stond de waarde False doorgegeven.
edit:

crap you LuCarD ;)
WOW de post vliegen me nu hier om me oren :P

maar ik heb de oplossing dankzij bigbeng !! THX!! _/-\o_

heb de code veanderd naar:
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<% IF objRec.Fields("Dolby_Digital").Value = True THEN %>
<input type="checkbox" name="C1" value="True" checked></td>
<% ELSE %
<input type="checkbox" name="C1" value="True"></td>
<%END IF %>

<% IF objRec.Fields("DTS").Value = True THEN %>
<input type="checkbox" name="C2" value="True" checked></td>
<% ELSE %
<input type="checkbox" name="C2" value="True"></td>
<%END IF %>

<% IF objRec.Fields("THX").Value = True THEN %>
<input type="checkbox" name="C3" value="True" checked></td>
<% ELSE %
<input type="checkbox" name="C3" value="True"></td>
<%END IF %>


het werkt nu prima! THX! :*)

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

* LuCarD voelt zich onder gewaardeerd :(

:Y)

Programmer - an organism that turns coffee into software.


Verwijderd

Topicstarter
LuCarD schreef op woensdag 07 december 2005 @ 11:24:
* LuCarD voelt zich onder gewaardeerd :(

:Y)
Sorry LuCarD O-) maar bigbeng was iets meer to the point als je begrijpt wat ik bedoel, maar dat laat niet weg dat ik ik jou ook dankbaar ben! ;)

  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
Verwijderd schreef op woensdag 07 december 2005 @ 11:22:
[...]


WOW de post vliegen me nu hier om me oren :P

maar ik heb de oplossing dankzij bigbeng !! THX!! _/-\o_

heb de code veanderd naar:
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<% IF objRec.Fields("Dolby_Digital").Value = True THEN %>
<input type="checkbox" name="C1" value="True" checked></td>
<% ELSE %
<input type="checkbox" name="C1" value="True"></td>
<%END IF %>

<% IF objRec.Fields("DTS").Value = True THEN %>
<input type="checkbox" name="C2" value="True" checked></td>
<% ELSE %
<input type="checkbox" name="C2" value="True"></td>
<%END IF %>

<% IF objRec.Fields("THX").Value = True THEN %>
<input type="checkbox" name="C3" value="True" checked></td>
<% ELSE %
<input type="checkbox" name="C3" value="True"></td>
<%END IF %>


het werkt nu prima! THX! :*)
Wat gebeurt er nu als je een record toevoegd met C1, C2 en C3 true, vervolgens diezelfde record weer edit en ze dan alledrie niet aanvinkt? Een niet aangevinkte checkbox wordt niet meegepost toch? Dus zouden de waarden in de db true moeten blijven. Of vergis ik me nou?

Ben eigenlijk te lui om het even te testen :) Weet iemand het? Wordt een niet aangevinkte checkbox wel gepost?
Pagina: 1