Thread: [htmltmpl] Problems with HTML::TEMPLATE
Brought to you by:
samtregar
From: Rama S. <ra...@sa...> - 2005-03-16 16:30:02
|
Hi I am reading information from a DB and prepopulating my form fields.=20 I am using HTML:TEMPLATES module to process my html tmpl files Some of the entries in my table are radio buttons. I am prepopulating = them but for some reason they donot seem to be prepopulated. I tried to = do a view page source to see if the html is properly generated. It seems = to do so. All the other form fields are working fine. except radio buttons. IS there any known issue with radio buttons prepopulation when using = html tempalates. Here is the snippet of the code in my tmpl file. <td>Beeps: yes: <input type=3D"radio" name=3D"beepStatus" value=3D"yes" <TMPL_VAR = NAME=3D"yesBeeps"> > </td> The yesBeeps param displays checked or is empty string depending if that = radio button has to be prepopulated or not. But suprising even if it is = marked as checked it does not show that in my html page. Any help or hints would help. Or i need to switch to the old style of = printing html doc through my perl program thanks rama |
From: Alex K. <ka...@ra...> - 2005-03-16 16:38:50
|
* Rama Srinivas <ra...@sa...> [March 16 2005, 19:29]: > Here is the snippet of the code in my tmpl file. > > <td>Beeps: yes: > <input type="radio" name="beepStatus" value="yes" <TMPL_VAR > NAME="yesBeeps"> > > </td> Keep <TMPL_VAR> tag on one line. -- Alex Kapranoff, $n=["1another7Perl213Just3hacker49"=~/\d|\D*/g]; $$n[0]={grep/\d/,@$n};print"@$n{1..4}\n" |
From: Clifton R. <cli...@ti...> - 2005-03-17 02:28:32
|
On Wed, Mar 16, 2005 at 07:38:51PM +0300, Alex Kapranoff wrote: > * Rama Srinivas <ra...@sa...> [March 16 2005, 19:29]: > > Here is the snippet of the code in my tmpl file. > > > > <td>Beeps: yes: > > <input type="radio" name="beepStatus" value="yes" <TMPL_VAR > > NAME="yesBeeps"> > > > </td> > > Keep <TMPL_VAR> tag on one line. Not necessary in my H::T experience, FWIW. -- Clifton -- Clifton Royston -- cli...@ti... Tiki Technologies Lead Programmer/Software Architect "I'm gonna tell my son to grow up pretty as the grass is green And whip-smart as the English Channel's wide..." -- 'Whip-Smart', Liz Phair |
From: Hugues de M. <hu...@ma...> - 2005-03-16 16:41:42
|
Hello, I see no reason why your code doesn't work. Did you try to display that = variable ? Personally, I use the following construct, which is a little heavier, = but possibily more in the spirit of completely separating HTML from = code: <td>Beeps: yes: <input type=3D"radio" name=3D"beepStatus" value=3D"yes" <TMPL_IF = NAME=3D"yesBeeps">CHECKED</TMPL_IF> > </td> Hope this helps, Hugues ----- Original Message -----=20 From: "Rama Srinivas" <ra...@sa...> To: <htm...@li...> Sent: Wednesday, March 16, 2005 5:29 PM Subject: [htmltmpl] Problems with HTML::TEMPLATE Hi I am reading information from a DB and prepopulating my form fields.=20 I am using HTML:TEMPLATES module to process my html tmpl files Some of the entries in my table are radio buttons. I am prepopulating = them but for some reason they donot seem to be prepopulated. I tried to = do a view page source to see if the html is properly generated. It seems = to do so. All the other form fields are working fine. except radio buttons. IS there any known issue with radio buttons prepopulation when using = html tempalates. Here is the snippet of the code in my tmpl file. <td>Beeps: yes: <input type=3D"radio" name=3D"beepStatus" value=3D"yes" <TMPL_VAR = NAME=3D"yesBeeps"> > </td> The yesBeeps param displays checked or is empty string depending if that = radio button has to be prepopulated or not. But suprising even if it is = marked as checked it does not show that in my html page. Any help or hints would help. Or i need to switch to the old style of = printing html doc through my perl program thanks rama |
From: Justin S. <ju...@sk...> - 2005-03-16 22:28:39
|
I usually do something like this: <input type=3D"radio" name=3D"beepStatus" value=3D"yes"=A0 = <tmpl_if =20 yesBeeps>checked=3D"checked"</tmpl_if> /> Where, "yesBeeps" holds 1 or undefined. I guess your perl code would =20 look something like: my $yesBeeps =3D 0; $yesBeeps =3D 1 if beepStatus eq "yes"; $tmpl_obj->param(yesBeeps =3D> $yesBeeps); You may also want to look at HTML::FillinForm, which is a real time =20 saver. If you have a large form with many form elements, HTML::Template =20= gets a bit unwieldy: =09 http://search.cpan.org/~tjmather/HTML-FillInForm-1.05/lib/HTML/=20= FillInForm.pm That way, you can pass HTML::FillnForm the value of, "beepStatus", and =20= if there's a radiobutton that's associated with that value, it'll get =20= checked. Like *magic*. I preprocess an HTML page with HTML::Template, and then give it to =20 HTML::FillinForm to fill in the holes. Works really well. Saves me =20 time. Makes me look like a supehero. Cheers, justinSimoni.Artist -- .: art http://justinsimoni.com .: phone 720 436 7701 On Mar 16, 2005, at 9:29 AM, Rama Srinivas wrote: > Hi > =A0 > I am reading information from a DB and prepopulating my=A0form = fields.=A0 > I am using HTML:TEMPLATES module to process my html tmpl files > =A0 > Some of the entries in my table are radio buttons. I am prepopulating =20= > them but for some reason they donot seem to be prepopulated. I tried =20= > to do a view page source to see if the html is properly generated. It =20= > seems to do so. > All the other form fields are working fine. except radio buttons. > =A0 > IS there any known issue with radio buttons prepopulation when using =20= > html tempalates. > =A0 > Here is the snippet of the code in my tmpl file. > =A0 > <td>Beeps: yes: > <input type=3D"radio" name=3D"beepStatus" value=3D"yes"=A0 <TMPL_VAR =20= > NAME=3D"yesBeeps"> > > </td> > =A0 > The yesBeeps param displays checked or is empty string depending if =20= > that radio button has to be prepopulated or not. But suprising even if = =20 > it is marked as checked it does not show that in my html page. > Any help or hints would help. Or i need to switch to the old style of =20= > printing html doc through my perl program > thanks > rama |
From: Rama S. <ra...@sa...> - 2005-03-17 03:15:51
|
Hello all, Thanks for the feed back. I had to specifically mention CHECKED="CHECKED" in the if statement to make it work. Simply by saying CHECKED alone (though a valid html attribute) does not seem to work. Basically to be more clear I tried doing this first <input type="radio" name="beepStatus" value="yes" <tmpl_if yesBeeps>cheecked</tmpl_if> it did not work. but by doing this it worked <input type="radio" name="beepStatus" value="yes" <tmpl_if yesBeeps>cheecked="checked"</tmpl_if> worked out well. I am guessing the html template engine must be looking for some name-value pairs and just by seeing a single value with out a matching name would have rejected interpreting it. Thanks to all and special thanks to simonartist. rama ----- Original Message ----- From: "Justin Simoni" <ju...@sk...> To: "Rama Srinivas" <ra...@sa...> Cc: <htm...@li...> Sent: Wednesday, March 16, 2005 2:28 PM Subject: Re: [htmltmpl] Problems with HTML::TEMPLATE I usually do something like this: <input type="radio" name="beepStatus" value="yes" <tmpl_if yesBeeps>checked="checked"</tmpl_if> /> Where, "yesBeeps" holds 1 or undefined. I guess your perl code would look something like: my $yesBeeps = 0; $yesBeeps = 1 if beepStatus eq "yes"; $tmpl_obj->param(yesBeeps => $yesBeeps); You may also want to look at HTML::FillinForm, which is a real time saver. If you have a large form with many form elements, HTML::Template gets a bit unwieldy: http://search.cpan.org/~tjmather/HTML-FillInForm-1.05/lib/HTML/ FillInForm.pm That way, you can pass HTML::FillnForm the value of, "beepStatus", and if there's a radiobutton that's associated with that value, it'll get checked. Like *magic*. I preprocess an HTML page with HTML::Template, and then give it to HTML::FillinForm to fill in the holes. Works really well. Saves me time. Makes me look like a supehero. Cheers, justinSimoni.Artist -- .: art http://justinsimoni.com .: phone 720 436 7701 On Mar 16, 2005, at 9:29 AM, Rama Srinivas wrote: > Hi > > I am reading information from a DB and prepopulating my form fields. > I am using HTML:TEMPLATES module to process my html tmpl files > > Some of the entries in my table are radio buttons. I am prepopulating > them but for some reason they donot seem to be prepopulated. I tried > to do a view page source to see if the html is properly generated. It > seems to do so. > All the other form fields are working fine. except radio buttons. > > IS there any known issue with radio buttons prepopulation when using > html tempalates. > > Here is the snippet of the code in my tmpl file. > > <td>Beeps: yes: > <input type="radio" name="beepStatus" value="yes" <TMPL_VAR > NAME="yesBeeps"> > > </td> > > The yesBeeps param displays checked or is empty string depending if > that radio button has to be prepopulated or not. But suprising even if > it is marked as checked it does not show that in my html page. > Any help or hints would help. Or i need to switch to the old style of > printing html doc through my perl program > thanks > rama |
From: Clifton R. <cli...@ti...> - 2005-03-17 03:21:25
|
On Wed, Mar 16, 2005 at 07:15:08PM -0800, Rama Srinivas wrote: > Hello all, > > Thanks for the feed back. > > I had to specifically mention CHECKED="CHECKED" in the if statement to make > it work. > Simply by saying CHECKED alone (though a valid html attribute) does not seem > to work. That's actually not a function of HTML::Template, it's a function of the browser. I seem to recall I noticed something like this with IE, whereas Mozilla worked better, but I could have it backwards. > Basically to be more clear I tried doing this first > <input type="radio" name="beepStatus" value="yes" <tmpl_if > yesBeeps>cheecked</tmpl_if> it did not work. > > but by doing this it worked > > <input type="radio" name="beepStatus" value="yes" <tmpl_if > yesBeeps>cheecked="checked"</tmpl_if> worked out well. > > I am guessing the html template engine must be looking for some name-value > pairs and just by seeing a single value with out a matching name would have > rejected interpreting it. Just for future reference, H::T doesn't snoop the values that way. For all it cares, it could say "Pastrami!" -- Clifton -- Clifton Royston -- cli...@ti... Tiki Technologies Lead Programmer/Software Architect "I'm gonna tell my son to grow up pretty as the grass is green And whip-smart as the English Channel's wide..." -- 'Whip-Smart', Liz Phair |
From: Clifton R. <cli...@ti...> - 2005-03-17 02:32:01
|
On Wed, Mar 16, 2005 at 08:29:34AM -0800, Rama Srinivas wrote: > Some of the entries in my table are radio buttons. I am prepopulating > them but for some reason they donot seem to be prepopulated. I tried > to do a view page source to see if the html is properly generated. It > seems to do so. > > All the other form fields are working fine. except radio buttons. > > IS there any known issue with radio buttons prepopulation when using > html tempalates. No, I use HTML::Templates to preset radiobuttons to certain values, including multiline tables full of radio-buttons. > Here is the snippet of the code in my tmpl file. > > <td>Beeps: yes: > <input type="radio" name="beepStatus" value="yes" <TMPL_VAR > NAME="yesBeeps"> > > > </td> Looks OK to me, assuming yesBeeps is actually set to "checked". > The yesBeeps param displays checked or is empty string depending if > that radio button has to be prepopulated or not. But suprising even if > it is marked as checked it does not show that in my html page. For debugging purposes, it can be helpful to hide some comments in your template with TMPL_VAR values in them, e.g. <!-- Value of yesBeeps: <TMPL_VAR NAME="yesBeeps"> --> > Any help or hints would help. Or i need to switch to the old style of > printing html doc through my perl program That works too... -- Clifton -- Clifton Royston -- cli...@ti... Tiki Technologies Lead Programmer/Software Architect "I'm gonna tell my son to grow up pretty as the grass is green And whip-smart as the English Channel's wide..." -- 'Whip-Smart', Liz Phair |