Recent Posts
- (09/10) Fixing Warning: the ECDSA host key for 'github.com' differs from the key for the IP addressTAGS:Web Server Admin
- (12/26) CakePHP 3 - Getting List of Column Definitions from a Table (like schema())TAGS:CakephpCake3
- (09/14) Change Order of Loaded Behaviors in CakePHP 3TAGS:Cake3CakephpWeb ProgrammingPhp
- (05/29) CakePHP 3 - Accept JSON Header Only Working When Debug FalseTAGS:Web ProgrammingCakephpCake3
- (05/23) Remove All Events from Google Calendar (Reset Calendar)TAGS:Web ProgrammingPhp
- (11/08) Google Tag Manager (GTM) Not Firing Default PageView EventTAGS:Web ProgrammingJavascriptGoogle Tag Manager
- (10/13) In PHP, how do you get __toString() Magic Method Result without calling echo?TAGS:CakephpCake3Cakephp 13PhpWeb Programming
- (11/14) Getting output from shell_exec() at all timesTAGS:Web ProgrammingWeb Server Admin
Subscribe to my feed
MainelyDesign.com Blog
Checkbox - setting the default state
Posted on 04/17/2009 at 08:31 am by Kevin Wentworth
Viewed 14,900 times | 0 comments
I ran across a rather simple problem (I thought) that took a little searching to figure out. All I had to do was create a checkbox form input that I wanted to have checked by default. I tried 'default'=>'checked', which didn't work. I also tried 'checked'=>true and 'checked'=>1, but that works every time, even if validation fails and the user had unchecked the checkbox, it will be checked again (Not good usability).
The solution lies in a less-than-automagic approach. Too bad this request wasn't built-in, it would have solved the issue: https://trac.cakephp.org/ticket/5711. You need to look at the value being passed for the field and determine the value of checked: should it be 'checked'=>true or false.
In my controller, when empty($this->data) I set the field value to 1 (my default checked value):
- $this->data['ModelName']['field'] = 1;
I did the following in my view:
- if($this->data['ModelName']['field'] == 1) {
- $check_options['checked'] = true;
- }
- echo $form->input('ModelName.field', $check_options);
This way, when the ModelName.field does not equal 1 (unchecked) then $check_options array will not have the option setting the field to checked.
Thanks to the following resources:
for pointing me in the right direction.
Cheers,
-Kevin Wentworth
Tags for Checkbox - setting the default state
Cakephp | Web Programming | Forms
Comments for this Posting
No comments. Be the first to post a reply.
Sorry, comments are closed for this posting.
Please Email Kevin if you have any questions. Thanks!