Beste ,
Ik zit met een probleem omtrent de validatie van een serie checkboxen met gebruik van een jQuery plugin (link). De situatie is als volgt: ik heb bijvoorbeeld 8 checkboxes, waarvan er minimaal één aangevinkt moet worden. Dat gaat prima, de validatie gaat op basis van de name="naam". Het probleem is dat ik unieke names nodig heb om het geheel op te slaan in een mySql database. Ik wil de checkboxen dus valideren op basis van de ID's, ongeacht dat dit niet xHTML valide is.
Ik heb al geprobeerd om de checkboxen uit te lezen vanuit een array (als de names bv. name="naam[]" zijn). Ik heb 8 kolommen in de database. Als ik de array uitlees, en er zijn er bijvoorbeeld 3 aangevinkt, dan worden deze in de eerste 3 kolommen geplaatst terwijl het ook de 3 laatste checkboxen hadden kunnen zijn.
Wie kan mij hiermee helpen? Alvast bedankt.
- Formulier checkboxen - Jquery validatie probleem
-
17-02-2010, 13:21 #1
- Berichten
- 637
- Lid sinds
- 18 Jaar
Formulier checkboxen - Jquery validatie probleem
-
-
17-02-2010, 13:34 #2
- Berichten
- 257
- Lid sinds
- 15 Jaar
Daarvoor heb je in een checkbox toch het 'value' attribute?
http://www.w3.org/TR/html401/interac....html#checkbox
-
17-02-2010, 13:41 #3
- Berichten
- 637
- Lid sinds
- 18 Jaar
Hallo Ruud,
De inhoud van value word uitgelezen door PHP, maar word gefineerd aan de hand van name. Even een heel simpel voorbeeld:
Vb. HTML:
<input name="naam1" value="1" />
<input name="naam2" value="2" />
PHP:
<?
echo $naam1; (Geeft "1")
echo $naam2; (Geeft "2")
?>
Het probleem is dus dat ik de unieke names wil behouden en de groep checkboxen wil valideren aan de hand van de ID's.
-
17-02-2010, 13:46 #4
- Berichten
- 257
- Lid sinds
- 15 Jaar
Maar het is toch valide om meerdere checkboxes dezelfde naam te geven. Wat jij moet doen is dan in php controleren welke 'values' in de naam[] voorkomen en dat waren dan de aangevinkte checkboxes.
Dat is toch geen enkel probleem?
Bovendien blijft je html dan ook valid.
-
17-02-2010, 13:56 #5
- Berichten
- 637
- Lid sinds
- 18 Jaar
PHP pakt alleen de ingevulde checkboxen in de array, maar ik heb bv. 8 checkboxen, waarbij ik ook 8 waardes wil uitlezen. Heb namelijk 8 kolommen in de database, die in de juiste volgorde met 0 of 1 gevuld moeten worden.
-
17-02-2010, 14:06 #6
- Berichten
- 257
- Lid sinds
- 15 Jaar
Even lelijk:
Code:eerst even checken of $_POST['naam'] isset dan kijken of het een array is $value1 = false; $value2 = false; ... $value8 = false; foreach($_post['naam'] as $n) { switch ($n) { case 'value1' : $value1 = true; break; case 'value2' : $value2 = true; break; ... case 'value8' : $value8 = true; break; }
-
17-02-2010, 14:07 #7
- Berichten
- 95
- Lid sinds
- 18 Jaar
Dan lijkt mij het meest logisch dat je de 8 kolommen ophaalt uit de database en vervolgens gaat vergelijken welke checkbox wel is meegegeven en welke niet?
-
17-02-2010, 14:49 #8
- Berichten
- 637
- Lid sinds
- 18 Jaar
Het probleem zit hem volgens mij in het feit dat de array slechts opgebouwd word aan de hand van de afgevinkte checkboxen. Het is zelfs zo dat de eerste optie die afgevinkt word, als eerste in de array staat.
-
17-02-2010, 15:18 #9
- Berichten
- 257
- Lid sinds
- 15 Jaar
Jan-Willem,
Dat klopt, maar dat is toch geen probleem. Als jij weet welke values er in die array staan dan weet je toch ook welke kolommen je in je database moet zetten.
Als ik zo dit bericht teruglees dan denk ik dat je echt even moet resetten en opnieuw de mogelijkheden van de checkboxen moet bekijken en de mogelijkheden die PHP je biedt om de POST informatie van het form uit te lezen. Het moet gewoon kunnen, je ben vast niet de enige die deze functionaliteit wenst.
-
17-02-2010, 15:43 #10
- Berichten
- 637
- Lid sinds
- 18 Jaar
Ik zal aan de values een parameter meegeven waardoor er bekend word in welke kolom de betreffende value gezet moet worden. Bedankt voor je input.
-
17-02-2010, 15:48 #11
- Berichten
- 146
- Lid sinds
- 17 Jaar
Zoiets
var postthis = "?";
$('input:checkbox').each( function() {
postthis = postthis + this.name + "=" + this.checked + "&";
});
postthis = postthis.slice(0, -1)
-
17-02-2010, 17:17 #12
- Berichten
- 637
- Lid sinds
- 18 Jaar
Probleem is opgelost. Bedankt voor alle antwoorden.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic