Grab the last 2.x version before the Form and Widgets API's change.
You need to get the searchbox package from our website since I still haven't heard from the php people as to how they want it licensed and distributed.
Goto http://www.pcxperience.org/ to get the debs and searchbox packages.
HTMLObject 2.27 fixes many minor bugs and adds some new widgets and features for the Form module.
There is also support for using the searchBox widget that is currently being hosted at http://www.pcxperience.org/searchbox/
It is highly recommended that you upgrade to this version.
Version 2.25 of the HTMLObject is now available for immediate consumption.
The bug in the new Form tracking code introduced in version 2.24 has been fixed - where you didn't have a required profile entry and it was generating the variable name as a string and not its contents.
onbeforeunload is now supported wherever JavaScript is enabled (Normal, FrameSet, Template).
The FrameSet module now supports JavaScript - derived from the Normal module, so you should now be able to do anything that the W3C spec says a <frameset> should be able to do.... read more
HTMLObject 2.24 provides a better Form generation and processing experience and wraps up many of the loose ends that earlier releases had in this area.
This release adds extra functionality to the overloaded print() method (you can now output JavascriptIncludes, cookies, links, metaTags, css).
The generate() method of the HTMLObject::Form module now allows you to pass in javascript and javascriptIncludes values to be output as part of the form being generated. You can also now specify -onload and -onunload code for each form item that will be executed in the onload/onunload <body> handlers.
HTMLObject 2.22 implements the correct solution for working with the Data::FormValidator->valid() method when dealing with multi-select widgets that can return multiple entries.
The generated html tags attempt to pretty print themselves, though there is much room for improvement. This puts in line breaks, etc. as needed instead of outputting all tags on a single line.
HTMLObject 2.21 changes the default focus to be "body" rather than "head" which will prevent the accidental output of your body content in the head section when you forget to do a $doc->setFocus("body");
The HTMLObject::Forms module had a deleteErrorsEntry() method added to allow the developer to remove entries from the errors hash structure without having to know the layout. This is used by the Portal::Forms::User code if you want to see it in action.
HTMLObject 2.20 fixes a bug in the -ReadOnlyDisplayType support for single select boxes, and cleans up the form.cgi sample script.
HTMLObject 2.19 moves the Form Display and Validation code into our stable releases, improves html tag generation documentation and extends the ReadOnly select display formatting available to the developer.
This is the version of the HTMLObject we recommend projects to develop for. All known bugs are fixed, etc. :)
HTMLObject 2.18 is a major step forward in making a complete
library that both provides dynamic HTML document generation but also now provides the tools to allow you to display a form and have it validated per your specifications without having to write the display and validation code for each form.
See the form.cgi script in the examples directory for a sample.
The upcoming releases of SandSurfer and Xiwa are using the HTMLObject::Form functionality.
HTMLObject 2.17 finishes XHTML support for the Template module, makes the JavaScript Error Handler work under Mozilla and begins to add html tag output support similar to how CGI does it.
We are also now Debianized! You can download the debs from our website (http://www.pcxperience.org/ for instructions).
Version 2.16 of the HTMLObject adds XHTML support to all modules (Base, Normal and FrameSet).
Setting CSS entries via setStyleEntry() can now use a string of css name: value; pairs instead of requiring the hash of name, value items.
Other bug fixes are included, see the ChangeLog for more details.
With HTMLObject 2.15 you can now specify what version of HTML you would like to use (4.0, 4.01) and what DTD to use (loose, strict or frameset).
It now defaults to being HTML 4.01 loose.
An issue with the cookies being returned from ReadCookie was fixed (uneeded \'s were on some characters).
You can now generate a non-html/non-image document using the HTMLObject (Base or Normal) modules. This came up when trying to dynamically generate a tarball or plain text document from a cgi-script and it was being blocked. Oops!
Version 2.13 is now available. It fully fixes the textarea and pre tag indentation problem and updates/introduces some new methods to work with form data (encoding/decoding). See man pages for Base.pm for a summary of formEncodeString, formDecodeString and formProtectString.
Version 2.12 implements a quick fix for textarea's that were having spaces added to any lines that wrapped around in them after you resubmitted a page.
Version 2.11 now allows you to specify a tag string in the body of your HTMLObject Document (Base, Normal or Template modules) and then be able to have it replaced with some text in the display phase. The new methods are printTag, readTag and deleteTag.
The display and displayError methods now accept a debug flag which will cause the HTML that would have been generated to be output in a viewable format in the error code. See debug.cgi and debug2.cgi for samples.
File Uploads will now work again if you are using HTMLObject::CGILIb since the internal variables are now in the correct package scope.
The Template module has been enhanced to allow the use of print, read and delete in regards to a tag that is defined in the template document.
All JavaScript script sections now have the type="text/javascript" attribute set.
setLink now allows title to be optional and adds charset, hreflang, src and media as optional attributes to be more standards compliant.
I moved setLink, setBase, setStyleEntry and setLinkDecorations from Normal to Base so that non-JavaScript documents can take advantage of them. They are still available to Normal and Template modules since they build on top of them. Actually now they are available to the FrameSet module also.
Version 2.08 has improved JavaScript error handling in that you can specify to output both Version 4 and Version 5 browser methods or just one or the other. The Version 5 method can display the contents of the error object if called from a try/catch block and you specify a second parameter.
The HTMLObject defaults to acting as before were it will output both Version 4 and Version 5 methods and detect if the Version 5 method will be usable.
Version 2.07 has been released under the Perl Artistic License thus eliminating any of the possible GPL issues when wanting to use this in commercial apps.
Version 2.06 now provides for generic CSS entries to be made via the setStyleEntry method. Updated the Template Module and Normal Module to use this/be aware of it. See website for some examples of it in use. (hint - move your mouse over the links. The menu hasn't changed.)
Incorporated cgi-lib.pl as HTMLObject::CGILib. All programs/examples I distribute have been updated to reflect the change. This alleviates having to have cgi_lib.pm or cgi-lib.pl in your cgi-bin directory.
Version 2.05 attempts to fix some issues that were uncovered while running under mod_perl. In particular the ReadCookie Module should now be 100% mod_perl safe. Other minor enhancements were made to cleanup warnings spit out by perl -w. :)
HTMLObject 2.03 and 2.04 are now released. See changelog for complete details. An updated version of the website is also available and online. It now has an http://htmlobject.sf.net/cgi-bin/index.cgi?command=examples section that will allow you to play with some of the samples included in the distribution.
Version 2.02 of the HTMLObject has improved the Template module and has added support to trap errors under Mozilla and IE 5+ in a better way.