Tags:
view all tags
---+ Package =TWiki::Form= Object representing a single form definition. %TOC% ---++ ClassMethod *new* <tt>($session,$web,$form,$def)</tt> * $web - default web to recover form from, if $form doesn't specify a web * =$form= - topic name to read form definition from * =$def= - optional. a reference to a list of field definitions. if present, these definitions will be used, rather than those in =$form=. May throw TWiki::OopsException ---++ ObjectMethod *renderForEdit* <tt>($web,$topic,$meta) -> $html</tt> * =$web= the web of the topic being rendered * =$topic= the topic being rendered * =$meta= the meta data for the form Render the form fields for entry during an edit session, using data values from $meta ---++ ObjectMethod *renderFieldForEdit* <tt>($fieldDef,$web,$topic,$value) -> $html</tt> * =$fieldDef= the field being rendered * =$web= the web of the topic being rendered * =$topic= the topic being rendered * =$value= the current value of the field Render a single form field for entry during an edit session, using data values from $meta. Plugins can provide a handler that extends the set of supported types SMELL: this should be a method on a field class ---++ ObjectMethod *renderHidden* <tt>($meta) -> $html</tt> Render form fields found in the meta as hidden inputs, so they pass through edits untouched. ---++ ObjectMethod *cgiName* <tt>($field) -> $string</tt> Generate the 'name' of the CGI parameter used to represent a field. ---++ ObjectMethod *getFieldValuesFromQuery* <tt>($query,$metaObject) -> ($seen,\@missing)</tt> Extract new values for form fields from a query. * =$query= - the query * =$metaObject= - the meta object that is storing the form values For each field, if there is a value in the query, use it. Otherwise if there is already entry for the field in the meta, keep it. Returns the number of fields which had values provided by the query, and a references to an array of the names of mandatory fields that were missing from the query. ---++ ObjectMethod *isTextMergeable* <tt>($name) -> $boolean</tt> * =$name= - name of a form field (value of the =name= attribute) Returns true if the type of the named field allows it to be text-merged. If the form does not define the field, it is assumed to be mergeable. ---++ ObjectMethod *getField* <tt>($name) -> \%row</tt> * =$name= - name of a form field (value of the =name= attribute) Returns the field, or undef if the form does not define the field. ---++ ObjectMethod *getFields* <tt>() -> \@fields</tt> Return a list containing references to field name/value pairs. Each entry in the list has a {name} field and a {value} field. It may have other fields as well, which caller should ignore. The returned list should be treated as *read only* (must not be written to). ---++ StaticMethod *renderForDisplay* <tt>($templates,$meta)</tt> * =$templates= ref to templates singleton * =$meta= - meta object containing the form to be rendered Static because we want to be able to do this without a form definition. SMELL: Why? Is reading the form topic such a big burden?
Edit
|
Attach
|
Watch
|
P
rint version
|
H
istory
:
r7
<
r6
<
r5
<
r4
<
r3
|
B
acklinks
|
V
iew topic
|
Raw edit
|
More topic actions...
Topic revision: r4 - 2007-01-16
-
TWikiContributor
Home
Site map
Main web
Sandbox web
TWiki web
TWiki Web
User registration
Users
Groups
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
User Reference
ATasteOfTWiki
TextFormattingRules
TWikiVariables
FormattedSearch
QuerySearch
TWikiDocGraphics
TWikiSkinBrowser
InstalledPlugins
Admin Maintenance
Reference Manual
InterWikis
ManagingUsers
ManagingWebs
TWikiSiteTools
TWikiPreferences
WebPreferences
Categories
Admin Documentation
Admin Tools
Developer Doc
User Documentation
User Tools
Account
Log In
Edit
Attach
Copyright © 1999-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback
Note:
Please contribute updates to this topic on TWiki.org at
TWiki:TWiki.TWikiFormDotPm
.