description layout
[perl/html-form-simple.git] / lib / HTML / Form / Simple.pm
index 33da2b65f34854ce7e2fbc8510b7ee4dae9b5df2..58e8753498f13ddcbdac4169f32594c21c58081a 100644 (file)
@@ -171,7 +171,7 @@ sub select {
 
 sub radio {
        my $self = shift;
-       my ($name, $label, $rows, $attr) = $self->_attr(3, @_);
+       my ($name, $rows, $label, $attr) = $self->_attr(3, @_);
 
        if (not defined $rows) {
                if (defined $label) {
@@ -237,7 +237,7 @@ HTML::Form::Simple - Generate HTML form elements
                        msg => 'Textarea default', {rows => 4, style => 'background:red'}
                ) ],
                [ Gender => join ' or ', $input->radio(
-                       sex => ['m', 'f']
+                       sex => [qw(m f)], [qw(Male Female)]
                ) ],
                [ Colour => scalar $input->select(
                        favcolour => [qw(Blue Green Red)], 'Green'
@@ -248,15 +248,50 @@ HTML::Form::Simple - Generate HTML form elements
        );
        say $input->stop; # </form>
 
-=head1 TODO
+=head1 DESCRIPTION
 
 =over
 
-=item C<radio>|C<check> parameter order
+=item C<hidden>
+
+       $input->hidden(name => 'value');
+
+=item C<text>
+
+       $input->text(name => 'default');
+
+=item C<select>
+
+       $input->select(name => ['option'], 'default');
+
+=item C<radio>
+
+       $input->radio(name => ['option'], ['option label'], 'default');
+
+eq
+
+       $input->radio(
+               'name',
+               [ {label => 'option label', value => 'option'} ],
+               {value => 'default'}
+       );
+
+=item C<check>
+
+       $input->check(name => ['label', 'second option'], [0, 1]);
+
+eq
 
-Row options (hash ref details) are inconsistent:
-on labels for C<check>, on values for C<radio>.
-Make behaviour more logical.
+       $input->check(name => [
+               {label => 'label',         value => 1, checked => 0},
+               {label => 'second option', value => 2, checked => 1},
+       ]);
+
+=back
+
+=head1 TODO
+
+=over
 
 =item C<default()> method
 
@@ -276,6 +311,10 @@ Actual descriptions instead of just a synopsis.
 Allow custom value quotation function.
 Makes L<XML::Quote|XML::Quote> dependency optional.
 
+=item single checkbox id
+
+Do not add value to single check() by default.
+
 =back
 
 =head1 AUTHOR