The form below is a table, in which the user can fill out multiple rows of data. He can add or remove rows as needed.
This hack is in the public domain. Feel free to look at the source, copy it, and use it in your own projects. I mean... you were going to do that, anyway, weren't you? Filthy thief!
See also CGI::Form::Table, which provides Perl code for using this kind of form.
Please note that right now this hack doesn't seem to work in Safari or OmniWeb. My suspicion is that they don't treat the TBODY elements as each row's parent, but instead go right to the table. This is no good! I'll look at fixing it someday, unless someone has a better idea.