The easiest way (and I'm sure others will recommend this too) is to use
HTML::FillInForm.
The next best way (IMHO) is to do a simple variation of your second
method:
perl:
$tmpl->param( $q->param('Color')."_Checked" => "checked");
template:
<input type="radio" name="Color" value="Red" <!--TMPL_VAR
NAME=Red_Checked -->">
<input type="radio" name="Color" value="Blue" <!--TMPL_VAR NAME=Blue_Checked -->">
On Wed, 2004-02-11 at 10:32, C Hagstrom wrote:
> I'm a newbie to HTML::Template, and this
> is my first post to the list ....
>
> My question has to do with radio buttons,
> and any recommended ways of carrying
> a checked value through successive forms.
>
> I have my forms set up so submission errors
> (a missing required field, for example) are
> "carried through" ... that is, the form is regenerated,
> and any fields filled out in the first submission
> retain their respective values at the next iteration.
>
> This all works fine, and I've been able to figure out
> how to carry drop-down lists values along as well. Example:
>
> Choose an item from the list:
> <select name="Item">
> <!--TMPL_IF NAME="Item" -->
> <option selected><!--TMPL_VAR NAME=Item -->
> <!--/TMPL_IF-->
> <option>
> <option value="1">One
> <option value="2">Two
> <option value="3">Three
> </select>
>
> What I'm trying to do is figure out a way to do something
> similar with radio buttons .... in other words, carry a "checked"
> value through to the next form generation. The wrinkle
> that's causing me to scratch my head is that the field-name
> value is the same for each radio button, so I *can't* do something
> like:
>
> <input type="radio" name="Color" value="Red"
> <!--TMPL_IF NAME="Color" -->
> checked
> <!--/TMPL_IF-->
> ">
>
> <input type="radio" name="Color" value="Blue"
> <!--TMPL_IF NAME="Color" -->
> checked
> <!--/TMPL_IF-->
> ">
>
> I'm wondering if I'm missing something simple here .....
> I've got things working with a pretty cludgy looking work around:
> In the programming:
>
> ##CH likely a better way to do this
> if ($q->param('Color') eq 'Red') {
> $q->param('Red','checked')
> };
> if ($q->param('Color') eq 'Blue') {
> $q->param('Blue','checked')
> };
>
> And in the template:
>
> <input type="radio" name="Color" value="Red" <!--TMPL_VAR NAME=Red -->">
> <input type="radio" name="Color" value="Blue" <!--TMPL_VAR NAME=Blue -->">
>
> But the above is really ugly, and I gotta believe
> there's a better approach (that I'm too dense to recognize)
>
> Any suggestions?
>
> Carl
> [EMAIL PROTECTED]
>
>
>
>
>
>
>
> -------------------------------------------------------
> SF.Net is sponsored by: Speed Start Your Linux Apps Now.
> Build and deploy apps & Web services for Linux with
> a free DVD software kit from IBM. Click Now!
> http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
> _______________________________________________
> Html-template-users mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/html-template-users
--
Keith Jackson <[EMAIL PROTECTED]>
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Html-template-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/html-template-users