Ik heb het volgende probleem met een checkbox gebruik in forms:
1) vanaf een invoerpagina worden gegevens verzameld die de gebruiker moet invoeren. Een van die gegevens kan met een checkbox aangevinkt worden
2) De gegevens worden middels een submit naar dezelfde pagina gestuurd, alwaar ze worden verwerkt.
3) als de gebruiker echter niet het vinkje aanzet, zal de variabele (die in de checkbox is gedefinieerd) NIET meegezonden worden. De applicatie denkt dan dat de gebruiker niets heeft ingevoerd en zal weer bij stap 1 beginnen.
komen de gegevens in de database?
als de gebruiker de checkbox niet aangevinkt heeft zet je false in de db.
als de gebruiker wel de checkbox aanvinkt zet je true in de db.
Bij iedere aanroep van dit invoerscherm wordt gekeken welke variabelen benodigd zijn. Deze worden in een tabel gezet met als inhoud NULL. De programma genereerd vervolgens voor alle variabelen die als inhoud NULL hebben (= geen invoer van gebruiker) een invoer (bv als checkbox, combobox, input etc). Geen vinkje aanzetten bij een checkbox is kennelijk hetzelfde als geen invoer, dus wordt de waarde niet op "unselected" gezet.
Kan dit alleen met javascript afgevangen worden?
probleem is dat ik vooraf niet weet hoeveel variabelen er gevraagd gaan worden (de applicatie is een soort kennissysteem die ahv stuurgegevens om nieuwe invoer kan vragen). Voorbeeld: als de persoon ingeeft dat hij vrouw is, zal het systeem vragen of ze zwanger is.
Een workaround heb ik al door alle checkboxes te vervangen door ja/nee comboboxen, maar volgens mij moet dit oplosbaar zijn.
Bij iedere aanroep van dit invoerscherm wordt gekeken welke variabelen benodigd zijn. Deze worden in een tabel gezet met als inhoud NULL. De programma genereerd vervolgens voor alle variabelen die als inhoud NULL hebben (= geen invoer van gebruiker) een invoer (bv als checkbox, combobox, input etc). Geen vinkje aanzetten bij een checkbox is kennelijk hetzelfde als geen invoer, dus wordt de waarde niet op "unselected" gezet.
Kan dit alleen met javascript afgevangen worden?