The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
NAME
    CGI::Application::Plugin::SuperForm - Create sticky HTML forms in
    CGI::Application run modes using HTML::SuperForm

SYNOPSIS
        use CGI::Application::Plugin::SuperForm;

            sub form_runmode {
                    my $c = shift;

                    my $form_start = $c->superform->start_form(
                            {
                                    method => "POST",
                                    action => $c->query()->url() . "/myapp/form_process",
                            }
                    );

                    my $text = $c->superform->text( name => 'text', default => 'Default Text' );

                    my $textarea = $c->superform->textarea(
                            name    => 'textarea',
                            default => 'More Default Text'
                    );

                    my $select = $c->superform->select(
                            name    => 'select',
                            default => 2,
                            values  => [ 0, 1, 2, 3 ],
                            labels  => {
                                    0 => 'Zero',
                                    1 => 'One',
                                    2 => 'Two',
                                    3 => 'Three'
                            }
                    );

                    my $output = <<"END_HTML";
                <html>
                <body>
                    <form>
                    Text Field: $text<br>
                    Text Area: $textarea<br>
                    Select: $select
                    </form>
                </body>
                </html>
            END_HTML
                    return $output;

            }

DESCRIPTION
    Create sticky forms with "HTML::SuperForm".

METHODS
    sform
        alias to superform

    superform
        Returns a instance of "HTML::SuperForm" preconfigured with sticky
        and fallback options on. See HTML::SuperForm for more information
        and examples.

EXAMPLE USING TT PLUGIN
    A simplistic but working app SuperForm, TT and AutoRunmode plugins. TT
    brings in 'c' var to templates automatically, SuperForm brings in
    'sform'.

      Files:

        ./lib/MyApp.pm
        .MyApp/form.tmpl
        ./server.pl

      lib/MyApp.pm

                    package MyApp;
                    use base 'Titanium';

                    use CGI::Application::Plugin::TT;
                    use CGI::Application::Plugin::SuperForm;
                    use CGI::Application::Plugin::AutoRunmode;

                    sub form: Runmode{
                            my $c = shift;
                            $c->tt_process();
                    }


                    sub process_form(): Runmode{
                            my $c = shift;
                            # do something with user input.
                            # redirect to success page, etc.
                            return "You said: ". $c->query()->param('input1');
                    }



                    1;    # End of MyApp

      MyApp/form.tmpl

              <html>
                    [% c.sform.start_form({method=>"POST"}) %]<br/>
                    Say what? [% c.sform.text({name=>"input1"}) %]<br/>
                    [% c.sform.hidden({name=>"rm", value=>"process_form"})  %]<br/>
                    [% c.sform.submit()%]<br/>
                    [% c.sform.end_form() %]<br/>
              </html>

      .server.pl

                    use warnings;
                    use strict;
                    use CGI::Application::Server;
                    use lib 'lib';
                    use MyApp;

                    my $app = MyApp->new(PARAMS => {});
                    my $server = CGI::Application::Server->new();
                    $server->document_root('.');
                    $server->entry_points({
                        '/index.cgi' => $app,
                    });
                    $server->run;

SEE ALSO
    HTML::SuperForm, Titanium, CGI::Application.

AUTHOR
    Gordon Van Amburg, "gordon@minipeg.net"

LICENSE
    This library is free software. You can redistribute it and/or modify it
    under the same terms as perl itself.