-- Andrew Yager <[EMAIL PROTECTED]> wrote (on Saturday, 13 September 2008, 10:17 AM +1000): >>> I've just tried trunk, and have the same behaviour. >>> >>> Having looked again at the HTML being generated, it seems quite odd: >>> <dd> <input name="courseList[CEAudio]" value="0" type="hidden"> >>> <input >>> options="enroll notenroll" id="courseList[CEAudio]" >>> name="courseList[CEAudio]" value="notenroll" type="checkbox"> </dd> >> >> You can't be using trunk. IDs on dijit CheckBoxes were fixed three >> days >> ago. Please update your svn checkout and re-verify. > > You were right; I wasn't using the latest trunk and have now fixed this. > The HTML is much better: > <input name="courseList[CBAudio]" value="0" type="hidden"><input > id="courseList-CBAudio" name="courseList[CBAudio]" value="notenroll" > type="checkbox"> > but the code still seems to be doing slightly the wrong thing; instead > of putting the unchecked value into the hidden element, it puts it into > the checkbox element, and the hidden element continues to show a value of > 0. > > For the elements that are checked by the $form->populate() method, the > checkbox's value is "enroll" (the correct checked value). > > I quickly verified this if I don't set the checked/unchecked values when > I create the form elements - both the checkbox and hidden element show a > value of '0', so I'm guessing at this point it is a bug?
Yes. Please create an issue in the tracker. Be sure to include: * Minimum code necessary to reproduce * Expected result (in this case, the expected HTML) * Actual result (actual HTML generated) Thanks! > >>> Most Dojo widgits have their id's generated as (for example) >>> courseList-CEAudio ([] replaced by -), and I'm still confused as to >>> how >>> the hidden/checkbox of the same name are supposed to function >>> (although >>> they seem to, so I can't complain). >> >> Basically, when a checkbox is unchecked, either no value is submitted >> or >> an empty string is submitted for it (depending on the browser). This >> causes issues on the server-side, particularly if the value is >> required. >> The hidden element ensures a value is returned when the checkbox is >> unchecked. >> >> Within Zend_Form/Zend_Dojo, we allow you to set both the checked and >> unchecked values; the unchecked value is placed in the hidden element, >> the checked value in the checkbox itself. This way you get the >> appropriate value back based on the status of the checkbox at >> submission. > > This makes great sense :-) > > Thanks, > Andrew > > -- > Andrew Yager, Managing Director (MACS BCompSc MCP) > Real World Technology Solutions Pty Ltd > ph: 1300 798 718 or (02) 9037 0500 > fax: (02) 9037 0591 mob: 0405 152 568 > http://www.rwts.com.au/ or http://www.stonebridgecomputing.com.au/ > -- Matthew Weier O'Phinney Software Architect | [EMAIL PROTECTED] Zend Framework | http://framework.zend.com/
