ik heb een veldje in een database waarin de rechten van een persoon staan, dit is een getal opgebouwd uit de afzonderlijke bitjes die de rechten voorstellen. Da's mooi, 1 veld in de db, makkelijk uitbreidbaar enzovoorts.
Nu wil ik die rechten natuurlijk beheren en dat wordt gedaan door een rij checkboxes neer te zetten en ze allemaal dezelde naam te geven, namelijk rights[]
in php komt nu die hele bende als array binnen en dan doe ik:
helaas gaat dat dus niet door, want unchecked checkboxes worden ook niet verzonden met de post, dus wat doe ik:
even alle checkboxes met de class 'bool' een waarde geven die bij hun status past en vervolgens checken. Werkt allemaal machig prachtig.
Nu is alleen het enige dat als deze functie onsubmit aangesproken wordt ineens alle checkboxes gechecked worden waardoor de gebruiker het idee krijgt van "wat ik hier zag ging even helemaal niet goed", gaat prutsen, etc etc. Dat wil ik dus voorkomen.
Zijn hier goeie ideeen over?
- een extra hidden veld aanmaken die de checkboxes in de gaten houdt en in hun plaats de data vasthoudt kan, maar vind ik niet ideaal
- de checkbox onsubmit zelf omzetten naar een hidden veld kan ook, maar dan verdwijnen de checkboxes, reflowt de content en krijg ik nog een idee van "wat gebeurde daar?"
- de checkboxes via style hidden maken is al wat beter, dan reflowt de content ook niet, maar "verdwijnen" ze alsnog
Nu wil ik die rechten natuurlijk beheren en dat wordt gedaan door een rij checkboxes neer te zetten en ze allemaal dezelde naam te geven, namelijk rights[]
in php komt nu die hele bende als array binnen en dan doe ik:
PHP:
1
| $rights = bindec(implode('',$_POST['rights']); |
helaas gaat dat dus niet door, want unchecked checkboxes worden ook niet verzonden met de post, dus wat doe ik:
JavaScript:
1
2
3
4
5
6
7
8
9
| function succeedBooleanCheckboxes(form) { inps = form.getElementsByTagName('input'); for (var i=0; i<inps.length; i++) { if (inps[i].className.indexOf("bool") !== -1 && inps[i].type=='checkbox') { inps[i].value = inps[i].checked?1:0; inps[i].checked = true; } } } |
even alle checkboxes met de class 'bool' een waarde geven die bij hun status past en vervolgens checken. Werkt allemaal machig prachtig.
Nu is alleen het enige dat als deze functie onsubmit aangesproken wordt ineens alle checkboxes gechecked worden waardoor de gebruiker het idee krijgt van "wat ik hier zag ging even helemaal niet goed", gaat prutsen, etc etc. Dat wil ik dus voorkomen.
Zijn hier goeie ideeen over?
- een extra hidden veld aanmaken die de checkboxes in de gaten houdt en in hun plaats de data vasthoudt kan, maar vind ik niet ideaal
- de checkbox onsubmit zelf omzetten naar een hidden veld kan ook, maar dan verdwijnen de checkboxes, reflowt de content en krijg ik nog een idee van "wat gebeurde daar?"
- de checkboxes via style hidden maken is al wat beter, dan reflowt de content ook niet, maar "verdwijnen" ze alsnog