7 display a simple form from a ejs Form object
10 f.action = action to be taken on submit (optional, defaults to current page)
11 f.class = css class (optional, defaults to 'form')
12 f.submit = an array of submit labels
13 f.element[i].label = element label
14 f.element[i].name = element name (defaults to label)
15 f.element[i].type = element type (defaults to text)
16 f.element[i].value = current value (optional, defaults to "")
18 function form_display() {
21 write('<form name="' + f.name +
22 '" method="post" action="' + f.action +
23 '" class="' + f.class + '">\n');
24 if (f.element.length > 0) {
27 for (i in f.element) {
29 if (e.name == undefined) {
32 if (e.value == undefined) {
35 if (strlen(e.value) > size) {
36 size = strlen(e.value) + 4;
39 for (i in f.element) {
42 write("<td>" + e.label + "</td>");
43 if (e.type == "select") {
44 write('<td><select name="' + e.name + '">\n');
46 if (e.value == e.list[s]) {
47 write('<option selected=selected>' + e.list[s] + '</option>\n');
49 write('<option>' + e.list[s] + '</option>\n');
52 write('</select></td>\n');
55 if (e.type == "text" || e.type == "password") {
56 sizestr = sprintf('size="%d"', size);
58 writef('<td><input name="%s" type="%s" value="%s" %s /></td>\n',
59 e.name, e.type, e.value, sizestr);
63 if (f.element.length > 0) {
67 write('<input name="submit" type="submit" value="' + f.submit[i] + '" />\n');
74 create a Form object with the defaults filled in, ready for display()
76 function FormObj(name, num_elements, num_submits)
80 f.element = new Array(num_elements);
81 f.submit = new Array(num_submits);
82 f.action = session_uri(request.REQUEST_URI);
83 f.class = "defaultform";
84 for (i in f.element) {
85 f.element[i] = new Object();
86 f.element[i].type = "text";
87 f.element[i].value = "";
89 f.display = form_display;