Index: trunk/lib/Text/FormBuilder.pm
===================================================================
--- trunk/lib/Text/FormBuilder.pm	(revision 60)
+++ trunk/lib/Text/FormBuilder.pm	(revision 61)
@@ -17,5 +17,5 @@
 my %DEFAULT_OPTIONS = (
     method => 'GET',
-    javascript => 0,
+##     javascript => 1,
     keepextras => 1,
 );
@@ -231,5 +231,4 @@
             $$_{columns} = int(@{ $$_{options} } / 8) + 1;
         }
-        #$$_{ulist} = 1 if ref $$_{options} and @{ $$_{options} } >= 3;
     }
     
@@ -1053,5 +1052,14 @@
 
 This currently only works for single line text fields.
-    
+
+To create a growable field, add a C<*> after the name (and size, if
+given). Growable fields have a button that allows the user to add a
+copy of the field input. Currently, this only works for C<text> and
+C<file> fields. Growable fields also require JavaScript to function
+correctly.
+
+    # you can have as many people as you like
+    person*:text
+
 For the input types that can have options (C<select>, C<radio>, and
 C<checkbox>), here's how you do it:
@@ -1212,4 +1220,7 @@
 sections.
 
+And of course, to Nathan Wiger, for giving use CGI::FormBuilder in the
+first place. Thanks Nate!
+
 =head1 AUTHOR
 
Index: trunk/lib/Text/FormBuilder/grammar
===================================================================
--- trunk/lib/Text/FormBuilder/grammar	(revision 60)
+++ trunk/lib/Text/FormBuilder/grammar	(revision 61)
@@ -151,8 +151,9 @@
 group_name: /%[A-Z_]+/
 
-field: name field_size(?) label(?) hint(?) type(?) default(?) option_list(?) validate(?)
+field: name field_size(?) growable(?) label(?) hint(?) type(?) default(?) option_list(?) validate(?)
     {
 	my $field = {
 	    name     => $item{name},
+	    growable => ($item{'growable(?)'}[0] ? 1 : 0),
 	    label    => $item{'label(?)'}[0],
 	    comment  => $item{'hint(?)'}[0],
@@ -203,4 +204,6 @@
     { $rows = $item[1]; $cols = $item[3] }
 
+growable: '*'
+
 label: '|' (simple_multiword | quoted_string) { $item[2] }
 
