Creating and Populating Forms

Templating System : Developer Guide : User Guide

This document outlines the steps necessary to build a dynamic form in Tcl code.

Create a form

Use the form create command to initialize a form:

form create add_user

See the form API for optional parameters to this command.

Add elements

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.

Set values

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.


templating@arsdigita.com