NAME

HTML::FillInForm - Populates HTML Forms with CGI data.

DESCRIPTION

This module automatically inserts data from a previous HTML form into the HTML input and select tags. It is a subclass of HTML::Parser and uses it to parse the HTML and insert the values into the form tags.

One useful application is after a user submits an HTML form without filling out required field. HTML::FillInForm can be used to redisplay the HTML form with all the form elements containing the submitted info.

SYNOPSIS

This examples fills data into a HTML form stored in $htmlForm from CGI parameters that are stored in $q. For example, it will set the value of any "name" textfield to "John Smith".

  my $q = new CGI;

  $q->param("name","John Smith");

  my $fif = new HTML::FillInForm;
  my $output = $fif->fill(scalarref => \$html,
			  fobject => $q);

METHODS

new

Call new() to create a new FillInForm object:

$fif = new HTML::FillInForm;
fill

To fill in a HTML form contained in a scalar $html:

$output = $fif->fill(scalarref => \$html,
           fobject => $q);

Returns filled in HTML form contained in $html with data from $q. $q is required to have a param() method that works like HTML::FillInForm's param(). A good candidate would be a CGI.pm query object.

$output = $fif->fill(scalarref => \$html,
           fdat => \%fdat);

Returns filled in HTML form contained in $html with data from %fdat.

Alternately you can use

$output = $fif->fill(arrayref => \@array_of_lines,
           fobject => $q);

and

$output = $fif->fill(file => 'form.tmpl',
           fobject => $q);

SEE ALSO

HTML::Parser

VERSION

This documenation describes HTML::FillInForm module version 0.01.

BUGS

This module has not been tested extensively. Please submit and bug reports to tjmather@alumni.princeton.edu.

NOTES

I wrote this module because I wanted to be able to insert CGI data into HTML forms, but without combining the HTML and Perl code. CGI.pm and Embperl allow you so insert CGI data into forms, but require that you mix HTML with Perl.

AUTHOR

(c) 2000 Thomas J. Mather, tjmather@alumni.princeton.com

All rights reserved. This package is free software; you can redistribute it and/or modify it under the same terms as Perl itself.