This document outlines the steps necessary to build a dynamic form in Tcl code.
Use the form create command to initialize a form:
form create add_user
See the form API for optional parameters to this command.
Once the form is created, use the element create command to add elements to it:
element create add_user first_name -datatype text \ -label "First Name" \ -html { size 30 }
In auto-generated forms, elements appear in the order they were created. See the element API for optional parameters to this command.
Self-validating forms should check whether a request or submission is currently being processed. If a request is being processed, then form elements may need to be initialized with their appropriate values.
if { [template::form is_request add_user] } { set db [ns_db gethandle] set query "select ad_template_sample_users_seq.nextval from dual" template::query user_id onevalue $query -db $db ns_db releasehandle $db template::element set_properties add_user user_id -value $user_id }
This may also be done using the value option to element create. In this case the value is set separately to avoid the additional database query during a submission.