I think that both the date_field and the time_field idea are good ones
but how are you going to localize them? The different formats for date
and time might be a bit of a hassle. But you might be able to have
date_field return an array of 3 fields as is done with the check box
constructor. So you could use it like this and then arrange the date
components however you want it:
my ($year, $month, $day) = date_field(-name =>"end_date",
-value=>"2000-12-31")
# I'm a farmer and I care most about the month...
print "$month $day $year<br>\n";
Ian
On Tue, 18 Jul 2000, Kenneth Lee wrote:
> Better still,
>
> print date_field(
> -name =>"expiry",
> -value=>"2000-12-25");
>
> so that if value is omitted, the current value will be used.
> But date format will be a great concern.
>
> And how about time_field() also?
>
> Sorry for the annoyance.
>
>
> -------- Original Message --------
> Subject: [OT] New element for CGI.pm (or StickyForms, etc.)
> Date: Tue, 18 Jul 2000 17:45:21 +0800
> From: Kenneth Lee <[EMAIL PROTECTED]>
> To: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
>
> Hi all,
>
> anyone thought of a 'date_field' element for CGI.pm (or StickyForms, etc.)?
>
> this is my thought,
>
> use CGI qw/:standard/;
> print date_field(
> -name =>"expiry",
> -year =>2000,
> -month=>12,
> -day =>25);
> $expiry_date = param('expiry');
>
> which is an elegant way to do
>
> use CGI qw/:standard/;
> print textfield(-name=>'expiry_year', -value=>2000);
> print popup_menu(-name=>'expiry_month', -values=>[1..12], -default=>12);
> print popup_menu(-name=>'expiry_day', -values=>[1..31], -default=>25);
> $expiry_date = sprintf "%d-%d-%d", param('expiry_year'),
> param('expiry_month'), param('expiry_day');
>
> and the date validation can be done in query string parsing too.
>
> Thanks for any input.
> Kenneth
>