blob: 0be917f39b8e453a8ce152cba56019e8b78a0b1c [file] [log] [blame]
Super quick doc on the Rivet form package.
Forms directly emit HTML so if you want to format them in a table or
something, you've got to be emitting your table around your form calls.
See the example.
The supported field types are:
checkbox
text
password
hidden
submit
button
reset
image
radiobuttons
select
textarea
And the new HTML 5 types that may not be in every browser (but are in the
iPhone):
color
date
datetime
datetime_local
email
file
image
month
number
range
search
tel
time
url
week
form myform -defaults tag -method post -action view_photo.rvt
This defines a form called "myform", says that default values can be
taken from an array named "tag", specifies that the submit method
will be "post" and that the view_photo.rvt URL will be invoked
upon submission.
myform start
This starts emitting the form. It will generate the "<form>" HTML.
myform text tail -size 8 -maxlength 20
This defines a single line text entry box.
myform textarea description -cols 60 -rows 8
This defines a multiline text box.
myform select part_of_day -labels [list "" Day Dawn Dusk Night] -values [list "" day dawn dusk night] -style "width: 160px;"
This defines a dropbox. The labels of each entry will be blank,
Day, Dawn, Dusk, Night, and the values sent in the field named
"part_of_day" will correspondingly be blank, day, dawn, dusk and
night.
If values is not set, the labels will be used.
myform radiobuttons station -labels [list "" KUHF KLOL KRBE KLBJ] -values [list "" kuhg klol krbe klbj]
If values is not set, the labels will be used.
myform hidden upload_id -value $uploadID
This specifies a hidden field named upload_id and assigns a value to
it as the contents of the variable uploadID.
myform submit Tag
This creates the submit button for the form and calls it Tag.
myform button Tag
This creates a clickable button for the form and calls it Tag. Unlike
a submit element, button elements are not invoked if the user presses
"Enter".
myform cancel
This create the cancel button for the form.
myform end
This ends the form and is mandatory. It generates the HTML to
complete the form.
myform destroy
This gets rid of the form object.
FILE UPLOADING
There isn't a form type in forms at this time for uploading a file, however
you can do it by emitting something like:
<input type="file" name="media" size="40">
EXAMPLE
package require form
form myform -defaults response -method get -name feedsearch
myform start
puts "<table>"
puts "<tr>"
puts "<td>"
myform select codebase -values [list stable beta] -labels [list Stable Beta]
puts "</td>"
puts "<td>"
myform select type -values [list xmlparsed parsed] -labels [list XML T1]
puts "</td>"
puts "<td>ident</td><td>"
myform text ident -size 8
puts "</td>"
puts "<td>"
myform select startMonth -values "1 2 3 4 5 6 7 8 9 10 11 12"
puts "</td>"
puts "<td>"
myform select startDay -values "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29 30 31"
puts "</td>"
puts "<td>"
myform select startYear -values "2005 2006 2007 2008"
puts "</td>"
puts "<td>days</td>"
puts "<td>"
myform select days -values "1 2 3"
puts "</td>"
puts "<td>"
myform submit submit -value Search
puts "</td>"
puts "</tr>"
puts "</table>"
emit_toggle_all_function
emit_toggle_buttons
myform end
myform destroy