Re: Formbuilder generates extra radio button

From: Date: Wed, 20 Jul 2005 23:03:25 +0000
Subject: Re: Formbuilder generates extra radio button
References: 1  Groups: php.pear.general 
Request: Send a blank email to pear-general+get-20083@lists.php.net to get a copy of this message
I've changed the database and regenerated the dataobjects using createTables.php. Sadly I still see four rather than the expected three. If your next suggestion is to use a select instead of radio buttons, can you tell me how to make 'Unknown' the default rather than 'null'? :) -A On 7/20/05 5:51 PM, "Justin Patrin" <papercrane@gmail.com> wrote: > On 7/20/05, Andrew Wooldridge <andrew.r.wooldridge@vanderbilt.edu> wrote: >> I'm using the following code to create a yes, no, unknown field using >> FormBuilder. The data field is a char(1) in my database. I have the >> following lines in my dataobject class. However, the HTML created has a >> fourth radio button, without a label, before the others. >> >> ---partial listing of options set in data object--- >> public $y_n_u; // string(1) >> >> $this->fb_linkElementTypes = array('y_n_u' => 'radio'); >> >> $this->fb_enumFields[] = 'y_n_u'; >> >> $this->fb_enumOptions = array('y_n_u' => array('Y' => >> 'Y', >> 'N' => 'N', >> 'U' => 'U') >> ); >> >> ---HTML generated ----- >> >> <td valign="top" align="center"> >> <input name="test1_y_n_u_1" value="" type="radio" >> id="qf_51da48" >> checked="checked" /> >> <input name="test1_y_n_u_1" value="Y" type="radio" >> id="qf_47f93e" >> /><label for="qf_47f93e">Y</label> >> <input name="test1_y_n_u_1" value="N" type="radio" >> id="qf_4facaf" >> /><label for="qf_4facaf">N</label> >> <input name="test1_y_n_u_1" value="U" type="radio" >> id="qf_7a549b" >> /><label for="qf_7a549b">U</label></td> >> >> ----------------------------- >> >> Has anyone else seen this problem before? > > It's not a problem, it's a feature. ;-) > > I'm pretty sure that what's happening is that FormBuilder is adding an > extra option because the field is allowed to be NULL. I.e. it's not > NOT NULL. If you change your field in the DB to NOT NULL and > regenerate your DO ini file you'll see that go away. > > You may be right in a way, though...a "nothing" radio button doesn't > make as much sense as a "nothing" select box entry. However, not > having the "nothing" radio button means that once you click yes or no > you won't be able to go back to choosing nothing in most browsers. > > I suggest you just make your field NOT NULL. :-)

« previous php.pear.general (#20083) next »