Re: QuickForm setChecked or setDefaults on Radios not in group?

From: Date: Fri, 01 Oct 2004 20:32:49 +0000
Subject: Re: QuickForm setChecked or setDefaults on Radios not in group?
References: 1 2  Groups: php.pear.general 
Request: Send a blank email to pear-general+get-14725@lists.php.net to get a copy of this message
Well you're right, it does! And it works in my code as well. The reason I didn't try that today was that I had tried it before and it hadn't worked -- in debugging that I had come to a false conclusion that it only worked when using groups. Perhaps something else was wrong in my other code that was getting in my way. I will go back and look at that more closely to see where I was going wrong. Thanks for renewing my faith in setDefaults()! ;) s. Justin Patrin wrote: > On Fri, 01 Oct 2004 15:05:17 -0500, Sarah Gray <sarah@fabled.net> wrote: > > Hello, > > > > Is it possible to set radio defaults if the radio buttons are not part > > of a group? > > > > I tried using setChecked, as described here... > > > > http://pear.php.net/manual/en/package.html.html-quickform.html-quickform-radio.setchecked.php > > > > But this resulted in the first radio per group being checked, regardless > > of which radio I called it on. > > > > My examples are below, but if it is definitely not possible, please let > > me know. > > If it is possible, and you have a usage example or correction for me, I > > would be very > > appreciative. Thanks in advance. > > > > Sarah > > > > **** > > > > My examples. > > > > I. > > This would help me in two cases. On one form it is a layout issue > > When I make the radio buttons a group, by doing this, (in a loop) > > > > $radio[$i] =& HTML_QuickForm::createElement('radio', null, > > $alphabet[$i] .'.', '', $alphabet[$i]); > > $form->addGroup($radio, 'single_correct', '', ' '); > > $form->setDefaults(array('single_correct' => $selectedRadioValue)); > > > > the functionality works, but they layout all together. I understand > > that I can use a separator, but in my case > > the radio buttons need to appear next to text input boxes so an > > administrator can create multiple choice options. As in > > > > A. (radio) Choice 1 > > B. (radio) Choice 2 > > C. (radio) Choice 3 > > > > Where "Choice 1" etc are <input type="text">, followed by a > > <br />. > > > > When I put the radio buttons in a group, I get a layout like this, which > > isn't so helpful when you're creating a > > multiple choice question. > > > > Choice 1 > > Choice 2 > > Choice 3 > > A. (radio) B. (radio) C. (radio) > > > > II. > > On another form it is not a layout issue, as the choice text is the > > radio text itself, but currently the radios are not in a group and I > > would prefer > > to keep it that way, to avoid re-writing. > > > > I tried using setChecked but as I said above, this resulted in the first > > radio per group being checked, regardless of which radio I called it on. > > > > This is my code. It is rendering a test and displaying the answers the > > user selected (drawing each choice in a loop). > > > > $form->addElement('radio', $question->question_id, $letter, > > $choice->choice_text, $choice->choice_id); > > > > if( $params['selectedChoices']) { > > if( in_array($choice->choice_id, $params['selectedChoices']) ){ > > $sel =& $form->getElement($question->question_id); > > $sel->setChecked(true); > > } > > } > > > > ****************** > > > > Tips, corrections, examples welcomed. > > > > This seems to work just fine... > require_once('HTML/QuickForm.php'); > $form = new HTML_QuickForm(); > for ($i = 0; $i < 5; ++$i) { > $radio[$i] =& HTML_QuickForm::createElement('radio', > 'single_correct', $i.'.', '', $i); > $form->addElement($radio[$i]); > } > $form->setDefaults(array('single_correct' => 3)); > echo $form->toHtml(); > > -- > paperCrane --Justin Patrin-- > > -- > PEAR General Mailing List (http://pear.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php

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