git.shiar.nl
/
perl
/
html-form-simple.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
XXX: defaults
[perl/html-form-simple.git]
/
lib
/
HTML
/
Form
/
Simple.pm
diff --git
a/lib/HTML/Form/Simple.pm
b/lib/HTML/Form/Simple.pm
index 911b864c2eba3a9c38897bcc7964ea8fe1d62a2e..2b30d79007059e5051a1210114ba2d5fed58359e 100644
(file)
--- a/
lib/HTML/Form/Simple.pm
+++ b/
lib/HTML/Form/Simple.pm
@@
-9,7
+9,8
@@
our $VERSION = '1.00';
sub new {
sub new {
- bless {}, $_[0];
+ my ($class, $default) = @_;
+ bless {default => $default}, $class;
}
sub _attr {
}
sub _attr {
@@
-83,6
+84,8
@@
sub hidden {
$attr->{name } = $name if defined $name;
$attr->{value} = $value if defined $value;
$attr->{name } = $name if defined $name;
$attr->{value} = $value if defined $value;
+ $attr->{value} = $self->{default}->{$name}
+ if not defined $attr->{value} and defined $name and defined $self->{default};
$attr->{type} = 'hidden' unless defined $attr->{type};
return $self->tag(input => $attr);
$attr->{type} = 'hidden' unless defined $attr->{type};
return $self->tag(input => $attr);
@@
-94,6
+97,8
@@
sub text {
$attr->{name } = $name if defined $name;
$attr->{value} = $value if defined $value;
$attr->{name } = $name if defined $name;
$attr->{value} = $value if defined $value;
+ $attr->{value} = $self->{default}->{$name}
+ if not defined $attr->{value} and defined $name and defined $self->{default};
$attr->{id} = $attr->{name} unless defined $attr->{id};
$attr->{type} = 'text' unless defined $attr->{type} or defined $attr->{rows};
$value = delete $attr->{value} if defined $attr->{rows};
$attr->{id} = $attr->{name} unless defined $attr->{id};
$attr->{type} = 'text' unless defined $attr->{type} or defined $attr->{rows};
$value = delete $attr->{value} if defined $attr->{rows};
@@
-109,13
+114,15
@@
sub select {
my $self = shift;
my ($name, $rows, $default, $attr) = $self->_attr(3, @_);
my $self = shift;
my ($name, $rows, $default, $attr) = $self->_attr(3, @_);
- $default = $attr->{value} unless defined $default;
- delete $attr->{value}; # never a parent attribute
-
$attr->{name} = $name;
$attr->{id} = $attr->{name} unless defined $attr->{id};
$attr->{type} = 'select' unless defined $attr->{type};
$attr->{name} = $name;
$attr->{id} = $attr->{name} unless defined $attr->{id};
$attr->{type} = 'select' unless defined $attr->{type};
+ $default = $attr->{value} unless defined $default;
+ delete $attr->{value}; # never a parent attribute
+ $default = $self->{default}->{$name}
+ if not defined $default and defined $name and defined $self->{default};
+
my @options = map { ref $_ ? $_ : {value => $_} } @$rows;
my @return;
my @options = map { ref $_ ? $_ : {value => $_} } @$rows;
my @return;