template::form::create (public)

 template::form::create id [ args... ]

Defined in packages/acs-templating/tcl/form-procs.tcl

Initialize the data structures for a form.

Parameters:
id - A keyword identifier for the form, such as "add_user" or "edit_item". The ID must be unique in the context of a single page.
Options:
-method
The standard METHOD attribute to specify in the HTML FORM tag at the beginning of the rendered form. Defaults to POST.
-html
A list of additional name-value attribute pairs to include in the HTML FORM tag at the beginning of the rendered form. Common use for this option is to set multipart form encoding by specifying "-html { enctype multipart/form-data }". Please note that to comply with newer security features, such as CSP, one should not specify JavaScript event handlers here, as they will be rendered inline.
-mode
If set to 'display', the form is shown in display-only mode, where the user cannot edit the fields. Each widget knows how to display its contents appropriately, e.g. a select widget will show the label, not the value. If set to 'edit', the form is displayed as normal, for editing. Defaults to 'edit'. Switching to edit mode when a button is clicked in display mode is handled automatically.
-cancel_url
A url to redirect to when the user hits the Cancel button. If you do not supply a cancel_url, there will be no Cancel button.
-cancel_label
The label of the Cancel button, if cancel_url is supplied. Default is "Cancel".
-actions
A list of actions available on the form, which in practice means a list of buttons to show when the form is in display mode. The value should be a list of lists, with the first element being the form label and the second element being the name of the form element. Defaults to { { "Edit" edit } }. The name of the button clicked can be retrieved using template::form::get_button. The name of the button clicked while in display mode is called the 'action', and can be retrieved using template::form::get_action. The action is automatically carried forward to the form submission, so that the value that you get from calling template::form::get_action on the final form submission is the name of the button which was called when the form changed from display mode to edit mode.
-display_buttons
List of buttons to show when the form is in display mode. Equivalent to actions. If both actions and display_buttons are present, 'actions' is used. 'display_buttons' is deprecated.
-edit_buttons
List of buttons to show when the form is in edit mode. The value should be a list of lists, with the first element being the button label and the second element being the name. Defaults to { { "Ok" ok } }. The name of the button clicked can be retrieved using template::form::get_button.
-has_submit
Set to 1 to suppress the OK or submit button automatically added by the form builder. Use this if your form already includes its own submit button.
-has_edit
Set to 1 to suppress the Edit button automatically added by the form builder. Use this if you include your own.
-elements
A block of element specifications.
-show_required_p
Should the form template show which elements are required. Use 1 or t for true, 0 or f for false. Defaults to true.
See Also:

Partial Call Graph (max 5 caller/called nodes):
%3 template::request::create template::request::create (public) template::form::create template::form::create template::request::create->template::form::create ad_returnredirect ad_returnredirect (public) template::form::create->ad_returnredirect ad_script_abort ad_script_abort (public) template::form::create->ad_script_abort template::adp_level template::adp_level (public) template::form::create->template::adp_level template::element template::element (public) template::form::create->template::element template::form::get_action template::form::get_action (public) template::form::create->template::form::get_action

Testcases:
No testcase defined.
[ show source ]
Show another procedure: