2002/04/30 J Joseph Felten wanted to pass code references to -FOOTER and -HEADER and have them called to produce the relevant output. This has been implemented. You can still pass strings with the same behaviour as usual. 2001/07/31 Lary Ecker provided a hebrew translation for the messages; you need to use a (simple) custom header, see the -LANGUAGE option for details; example1 has been updated to reflect this. 2001/01/05 Richard Lam pointed out a bug in the -JSCRIPT option. This has now been fixed, but usage has changed. 2000/11/20 Tom Shield noticed that file fields didn't always work correctly and supplied a patch which uses multi-part forms if any of the fields is a file field; I incorporated a modified version of the patch. 2000/05/24 Added new options -NAME, -ONSUBMIT and -JSCRIPT for Javascript users, plus updated the German translation, all thanks to a patch supplied by Frank Ridderbusch. Frank also pointed out that starting $why strings with a
helps Netscape display forms properly (see the updated example2). He also reported some problems under mod_perl; I'm using testing on ancient versions at the moment and won't be able to do much until Debian 2.2 is on CD. Added new options -USER_REQUIRED and -USER_INVALID; you can now specify your own error message strings in these by setting -LANGUAGE to 'user'. This was due to a request by Alex Bransby-Williams. example5 has been updated to show examples of these. This means I won't be accepting any new translations since you can write your own. 2000/04/23 You can now override the red * and blue + with any HTML you like to indicate invalid and required fields respectively. The new options are -INVALID_HTML and -REQUIRED_HTML. See the updated example1 for a garish example; this means that you can use tags, e.g. -INVALID_HTML => '', This is thanks to a suggestion by Mark Lybrand who has also provided a Spanish translation so you can now set -LANGUAGE to 'es'. Note: at least one example (but not QuickForm itself) now requires my readonly.pm pragma which is available from my website or CPAN. 2000/04/08 Added -HEADLINE which allows you to create titles (headlines) to separate out sets of fields - got the idea from Simon Call. See example2 which has been updated to reflect this. On-line examples are at: http://www.perlpress.com/perl/quickform.html#examples Added convenience field-level option -COLSPAN to for working with multiple columns. See example2. 2000/04/06 At last: multi-column forms. You can now have forms with as many fields as you like in a row; rows can have different numbers of fields (so you'll want to use colspan in the -STYLE_FIELDVALUE option for wide fields). To use the new feature set the record-level option -MULTI_COLUMN to true, and set -END_ROW to true for each field which is the end of a row, and set colspan for fields which must span columns. See example2 and example4 which have been revised to show this new functionality. Thanks to Alex Bransby-Williams and Ben Thompson for reminding me. 2000/03/20 Internal changes to improve memory efficiency. No longer need to use -EXTRA_PATH for non-registry mod_perl; scripts that do will still work because it will be ignored, and registry scripts don't need changing anyway. Updated example6 to reflect this. 2000/03/17 If you have CGI scripts that use QuickForm they will run as-is under mod_perl using Apache::Registry. From v1.75 you can also run QuickForm under pure mod_perl, i.e. without using Apache::Registry. You do have to modify the scripts slightly but this is documented in the pod and also in the new example6 which has been added. QuickForm is not specifically optimised for pure mod_perl, i.e. it doesn't make use of the Apache request object, but should still deliver far better performance. 2000/03/16 Marcel Dorenbos spotted a bug in example4 which I've now corrected. 2000/03/15 Preliminary experiments with mod_perl. Using Apache::Registry seems fine; but outside of that does not work. Problem is that between form reloads (sometimes even before the first reload) we get a handler not found error; simply reloading solves the problem but is hardly a solution... hopefully once I understand mod_perl better will fix, but if anyone figures it out I'll be happy to include their fixes. 2000/03/14 Updated example4 to make it a tiny bit more generic along lines suggested by Marcel Dorenbos. 2000/03/14 Corrected an error, identified by Lou Hevly, in the second example given in the pod. Added -SPACE option, suggested by Lou Hevly, which includes some whitespace in the HTML generated by QuickForm (but not by CGI.pm) to aid debugging. 2000/02/21 Corrected an error, identified by Michael Ziege, in the first example given in the pod. 2000/02/18 Corrected the tarball so that make test will now work. 2000/02/09 Fixed two bugs introduced with the greater style versatility. 2000/02/08 Cedric Scott requested that style options could be applied to individual rows, not just to all rows and supplied a patch. This was clearly a good idea but instead of only allowing styles to be applied on a per-field (i.e. per row) basis the new style options I've implemented allow for style to be applied on a per cell basis i.e. each label and each value, separately. The existing style options continue to work as before since they apply `globally'. But you can now over-ride them per-row or per-cell. See the -STYLE_DESC, -STYLE_ROW, -STYLE_FIELDNAME and -STYLE_FIELDVALUE options under the Styles section of the pod. Example 5 has been updated slightly to reflect the new usage and is now truly garish. 2000/02/06 Added quickform.t. All this does is check that the module loads. Suggestions (or better still code) to add to the test module is welcome. 2000/01/25 Made all hand generated HTML in QuickForm XHTML compliant (but your version of CGI.pm might not be). Updated the examples to be XHTML compliant too. 2000/01/18 Alex Bransby-Williams pointed out that applying a style to buttons did not work in a popular browser, so now -STYLE_BUTTONS can either be in-line style (which will be put in