From 0f7314ea019a42e202346fc429330f1e8dfa9b7d Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 30 May 2005 08:13:34 +0000 Subject: r7093: - added a new Form() ejs object for producing simple forms. - tidied up the html generation a bit (This used to be commit ddccf6d2f5c4757111010e3116b41e379a7dc2dd) --- swat/scripting/common.js | 57 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'swat/scripting/common.js') diff --git a/swat/scripting/common.js b/swat/scripting/common.js index cc3ca55468..d9e3b56bce 100644 --- a/swat/scripting/common.js +++ b/swat/scripting/common.js @@ -92,3 +92,60 @@ function multi_table(array, header) { } write("\n"); } + +/* + create a Form object with the defaults filled in, ready for display_form() + */ +function Form(name, num_elements, num_submits) +{ + var f = new Object(); + f.name = name; + f.element = new Array(num_elements); + f.submit = new Array(num_submits); + f.action = request.REQUEST_URI; + f.class = "form"; + for (i in f.element) { + f.element[i] = new Object(); + f.element[i].type = "text"; + f.element[i].value = ""; + } + return f; +} + +/* + display a simple form from a ejs Form object + caller should fill in + f.name = form name + f.action = action to be taken on submit (optional, defaults to current page) + f.class = css class (optional, defaults to 'form') + f.submit = an array of submit labels + f.element[i].label = element label + f.element[i].name = element name (defaults to label) + f.element[i].type = element type + f.element[i].value = current value (optional, defaults to "") + */ +function display_form(f) { + write('
\n'); + write("\n"); + for (i in f.element) { + var e = f.element[i]; + if (e.name == undefined) { + e.name = e.label; + } + if (e.value == undefined) { + e.value = '""'; + } + write(""); + write(""); + write('\n'); + } + write("
" + e.label + "
\n"); + for (i in f.submit) { + write('\n'); + } + write("
\n"); +} -- cgit