blob: 40861db2890b19e91bb98f93fd727165b0d8858c [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- saved from url=(0014)about:internet -->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_19) on Sun Mar 20 20:56:05 PKT 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
Form (Click Framework API - v2.3.0)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.click.control.Form class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="Form (Click Framework API - v2.3.0)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/click/control/FileField.html" title="class in org.apache.click.control"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/click/control/HiddenField.html" title="class in org.apache.click.control"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/click/control/Form.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Form.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.click.control</FONT>
<BR>
Class Form</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/click/control/AbstractControl.html" title="class in org.apache.click.control">org.apache.click.control.AbstractControl</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/click/control/AbstractContainer.html" title="class in org.apache.click.control">org.apache.click.control.AbstractContainer</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.click.control.Form</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, <A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A>, <A HREF="../../../../org/apache/click/control/Container.html" title="interface in org.apache.click.control">Container</A>, <A HREF="../../../../org/apache/click/Stateful.html" title="interface in org.apache.click">Stateful</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>Form</B><DT>extends <A HREF="../../../../org/apache/click/control/AbstractContainer.html" title="class in org.apache.click.control">AbstractContainer</A><DT>implements <A HREF="../../../../org/apache/click/Stateful.html" title="interface in org.apache.click">Stateful</A></DL>
</PRE>
<P>
Provides a Form control: &nbsp; &lt;form method='post'&gt;.
<table class='htmlHeader' cellspacing='12'>
<tr>
<td>
<table class='fields'>
<tr>
<td align='left'><label>Username</label><span class="red">*</span></td>
<td align='left'><input type='text' name='username' value='' size='20' maxlength='20' /></td>
</tr>
<tr>
<td align='left'><label>Password</label><span class="red">*</span></td>
<td align='left'><input type='password' name='password' value='' size='20' maxlength='20' /></td>
</tr>
</table>
<table class="buttons">
<tr><td>
<input type='submit' name='ok' value=' OK '/>&nbsp;<input type='submit' name='cancel' value=' Cancel '/>
</td></tr>
</table>
</td>
</tr>
</table>
When a Form is processed it will process its <A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control"><CODE>Field</CODE></A> controls
in the order they were added to the form, and then it will process the
<A HREF="../../../../org/apache/click/control/Button.html" title="class in org.apache.click.control"><CODE>Button</CODE></A> controls in the added order. Once all the Fields have been
processed the form will invoke its action listener if defined.
<h3>Form Example</h3>
The example below illustrates a Form being used in a login Page.
<pre class="prettyprint">
public class Login extends Page {
public Form form = new Form();
public Login() {
form.add(new TextField("username", true));
form.add(new PasswordField("password", true));
form.add(new Submit("ok", " OK ", this, "onOkClick"));
form.add(new Submit("cancel", this, "onCancelClick"));
}
public boolean onOkClick() {
if (form.isValid()) {
User user = new User();
form.copyTo(user);
if (getUserService().isAuthenticatedUser(user)) {
getContext().setSessionAttribute("user", user);
setRedirect(HomePage.class);
} else {
form.setError(getMessage("authentication-error"));
}
}
return true;
}
public boolean onCancelClick() {
setRedirect(WelcomePage.class);
return false;
}
} </pre>
The forms corresponding template code is below. Note the form automatically
renders itself when Velocity invokes its <A HREF="../../../../org/apache/click/control/AbstractContainer.html#toString()"><CODE>AbstractContainer.toString()</CODE></A> method.
<pre class="codeHtml">
<span class="blue">$form</span> </pre>
If a Form has been posted and processed, if it has an <A HREF="../../../../org/apache/click/control/Form.html#error"><CODE>error</CODE></A> defined or
any of its Fields have validation errors they will be automatically
rendered, and the <A HREF="../../../../org/apache/click/control/Form.html#isValid()"><CODE>isValid()</CODE></A> method will return false.
<a name="data-binding"></a>
<h3>Data Binding</h3>
To bind value objects to a forms fields use the copy methods:
<ul>
<li>value object &nbsp; -> &nbsp; form fields &nbsp; &nbsp; &nbsp;
<A HREF="../../../../org/apache/click/control/Form.html#copyFrom(java.lang.Object)"><CODE>copyFrom(Object)</CODE></A></li>
<li>form fields &nbsp; -> &nbsp; value object &nbsp; &nbsp; &nbsp;
<A HREF="../../../../org/apache/click/control/Form.html#copyTo(java.lang.Object)"><CODE>copyTo(Object)</CODE></A></li>
</ul>
To debug the data binding being performed, use the Click application mode to
"<tt>debug</tt>" or use the debug copy methods.
<p/>
Binding of nested data objects is supported using the
<a target="blank" href="http://www.ognl.org">OGNL</a> library. To use
nested objects in your form, simply specify the object path as the Field
name. Note in the object path you exclude the root object, so the path
<tt>customer.address.state</tt> is specified as <tt>address.state</tt>.
<p/>
For example:
<pre class="prettyprint">
// The customer.address.state field
TextField stateField = new TextField("address.state");
form.add(stateField);
..
// Loads the customer address state into the form stateField
Customer customer = getCustomer();
form.copyFrom(customer);
..
// Copies form stateField value into the customer address state
Customer customer = new Customer();
form.copyTo(customer); </pre>
When populating an object from a form post Click will automatically create
any null nested objects so their properties can be set. To do this Click
uses the no-args constructor of the nested objects class.
<p/>
<A HREF="../../../../org/apache/click/control/Form.html#copyTo(java.lang.Object)"><CODE>copyTo(Object)</CODE></A> and <A HREF="../../../../org/apache/click/control/Form.html#copyFrom(java.lang.Object)"><CODE>copyFrom(Object)</CODE></A> also supports
<tt>java.util.Map</tt> as an argument. Examples of using
<tt>java.util.Map</tt> are shown in the respective method descriptions.
<a name="form-validation"></a>
<h3>Form Validation</h3>
The Form control supports automatic field validation. By default when a POST
request is made the form will validate the field values. To disable
automatic validation set <A HREF="../../../../org/apache/click/control/Form.html#setValidate(boolean)"><CODE>setValidate(boolean)</CODE></A> to false.
<p/>
Form also provides a <A HREF="../../../../org/apache/click/control/Form.html#validate()"><CODE>validate()</CODE></A> method where subclasses can provide
custom cross-field validation.
<p/>
<b>File Upload Validation</b>
<p/>
The Form's <A HREF="../../../../org/apache/click/control/Form.html#validateFileUpload()"><CODE>validateFileUpload()</CODE></A> provides validation for multipart
requests (multipart requests are used for uploading files from the browser).
The <A HREF="../../../../org/apache/click/control/Form.html#validateFileUpload()"><CODE>validateFileUpload()</CODE></A> method checks that files being uploaded do not exceed the
<A HREF="../../../../org/apache/click/service/CommonsFileUploadService.html#sizeMax"><CODE>maximum request size</CODE></A>
or the <A HREF="../../../../org/apache/click/service/CommonsFileUploadService.html#fileSizeMax"><CODE>maximum file size</CODE></A>.
<p/>
<b>Note:</b> if the <tt>maximum request size</tt> or <tt>maximum file size</tt>
is exceeded, the request is deemed invalid (<A HREF="../../../../org/apache/click/control/Form.html#hasPostError()"><CODE>hasPostError</CODE></A>
will return true), and no further processing is performed on the form or fields.
Instead the form will display the appropriate error message for the invalid request.
See <A HREF="../../../../org/apache/click/control/Form.html#validateFileUpload()"><CODE>validateFileUpload()</CODE></A> for details of the error message properties.
<p/>
<b>JavaScript Validation</b>
<p/>
The Form control also supports client side JavaScript validation. By default
JavaScript validation is not enabled. To enable JavaScript validation set
<A HREF="../../../../org/apache/click/control/Form.html#setJavaScriptValidation(boolean)"><CODE>setJavaScriptValidation(boolean)</CODE></A> to true. For example:
<pre class="prettyprint">
Form form = new Form("form");
form.setJavaScriptValidation(true);
// Add form fields
..
form.add(new Submit("ok", " OK ", this, "onOkClicked");
Submit cancel = new Submit("cancel", "Cancel", this, "onCancelClicked");
cancel.setCancelJavaScriptValidation(true);
addControl(form); </pre>
Please note in that is this example the cancel submit button has
<A HREF="../../../../org/apache/click/control/Submit.html#setCancelJavaScriptValidation(boolean)"><CODE>Submit.setCancelJavaScriptValidation(boolean)</CODE></A> set to true. This
prevents JavaScript form validation being performed when the cancel button is
clicked.
<a name="resources"></a>
<h3>CSS and JavaScript resources</h3>
The Form control makes use of the following resources (which Click automatically
deploys to the application directory, <tt>/click</tt>):
<ul>
<li><tt>click/control.css</tt></li>
<li><tt>click/control.js</tt></li>
</ul>
To import these files and any form control imports simply reference
the variables <span class="blue">$headElements</span> and
<span class="blue">$jsElements</span> in the page template. For example:
<pre class="codeHtml">
&lt;html&gt;
&lt;head&gt;
<span class="blue">$headElements</span>
&lt;/head&gt;
&lt;body&gt;
<span class="red">$form</span>
<span class="blue">$jsElements</span>
&lt;/body&gt;
&lt;/html&gt; </pre>
<a name="form-layout"></a>
<h3>Form Layout</h3>
The Form control supports rendering using automatic and manual layout
techniques.
<a name="auto-layout"></a>
<h4>Auto Layout</h4>
If you include a form variable in your template the form will be
automatically laid out and rendered. Auto layout, form and field rendering
options include:
<table style="margin-left: 1em;" cellpadding="3">
<tr>
<td><A HREF="../../../../org/apache/click/control/Form.html#buttonAlign"><CODE>buttonAlign</CODE></A></td> <td>button alignment: &nbsp; <tt>["left", "center", "right"]</tt></td>
</tr><tr>
<td><A HREF="../../../../org/apache/click/control/Form.html#buttonStyle"><CODE>buttonStyle</CODE></A></td> <td>button &lt;td&gt; "style" attribute value</td>
</tr><tr>
<td><A HREF="../../../../org/apache/click/control/Form.html#columns"><CODE>columns</CODE></A></td> <td>number of form table columns, the default value number is 1</td>
</tr><tr>
<td><A HREF="../../../../org/apache/click/control/Form.html#errorsAlign"><CODE>errorsAlign</CODE></A></td> <td>validation error messages alignment: &nbsp; <tt>["left", "center", "right"]</tt></td>
</tr><tr>
<td><A HREF="../../../../org/apache/click/control/Form.html#errorsPosition"><CODE>errorsPosition</CODE></A></td> <td>validation error messages position: &nbsp; <tt>["top", "middle", "bottom"]</tt></td>
</tr><tr>
<td><A HREF="../../../../org/apache/click/control/Form.html#errorsStyle"><CODE>errorsStyle</CODE></A></td> <td>errors &lt;td&gt; "style" attribute value</td>
</tr><tr>
<td><A HREF="../../../../org/apache/click/control/Form.html#fieldStyle"><CODE>fieldStyle</CODE></A></td> <td>field &lt;td&gt; "style" attribute value</td>
</tr><tr>
<td><A HREF="../../../../org/apache/click/control/Form.html#labelAlign"><CODE>labelAlign</CODE></A></td> <td>field label alignment: &nbsp; <tt>["left", "center", "right"]</tt></td>
</tr><tr>
<td><A HREF="../../../../org/apache/click/control/Form.html#labelsPosition"><CODE>labelsPosition</CODE></A></td> <td>label position relative to field: &nbsp; <tt>["left", "top"]</tt></td>
</tr><tr>
<td><A HREF="../../../../org/apache/click/control/Form.html#labelStyle"><CODE>labelStyle</CODE></A></td> <td>label &lt;td&gt; "style" attribute value</td>
</tr><tr>
<td>click/control.css</td> <td>control CSS styles, automatically deployed to the <tt>click</tt> web directory</td>
</tr><tr>
<td>/click-control.properties</td> <td>form and field messages and HTML, located under classpath</td>
</tr>
</table>
<a name="manual-layout"></a>
<h4>Manual Layout</h4>
You can also manually layout the Form in the page template specifying
the fields using the named field notation:
<pre class="codeHtml">
$form.<A HREF="../../../../org/apache/click/control/Form.html#getFields()"><CODE>fields</CODE></A>.usernameField </pre>
Whenever including your own Form markup in a page template or Velocity macro
always specify:
<ul style="margin-top: 0.5em;">
<li><span class="maroon">method</span>
- the form submission method <tt>["post" | "get"]</tt></li>
<li><span class="maroon">name</span>
- the name of your form, important when using JavaScript</li>
<li><span class="maroon">action</span>
- directs the Page where the form should be submitted to</li>
<li><span class="maroon">form_name</span>
- include a hidden field which specifies the <A HREF="../../../../org/apache/click/control/AbstractControl.html#name"><CODE>AbstractControl.name</CODE></A> of the Form </li>
</ul>
The hidden field is used by Click to determine which form was posted on
a page which may contain multiple forms.
<p/>
Alternatively you can use the Form <A HREF="../../../../org/apache/click/control/Form.html#startTag()"><CODE>startTag()</CODE></A> and <A HREF="../../../../org/apache/click/control/Form.html#endTag()"><CODE>endTag()</CODE></A>
methods to render this information.
<p/>
An example of a manually laid out Login form is provided below:
<pre class="codeHtml">
<span class="blue">$form.startTag()</span>
&lt;table style="margin: 1em;"&gt;
<span class="red">#if</span> (<span class="blue">$form.error</span>)
&lt;tr&gt;
&lt;td colspan="2" style="color: red;"&gt; <span class="blue">$form.error</span> &lt;/td&gt;
&lt;/tr&gt;
<span class="red">#end</span>
<span class="red">#if</span> (<span class="blue">$form.fields.usernameField.error</span>)
&lt;tr&gt;
&lt;td colspan="2" style="color: red;"&gt; <span class="blue">$form.fields.usernameField.error</span> &lt;/td&gt;
&lt;/tr&gt;
<span class="red">#end</span>
<span class="red">#if</span> (<span class="blue">$form.fields.passwordField.error</span>)
&lt;tr&gt;
&lt;td colspan="2" style="color: red;"&gt; <span class="blue">$form.fields.passwordField.error</span> &lt;/td&gt;
&lt;/tr&gt;
<span class="red">#end</span>
&lt;tr&gt;
&lt;td&gt; Username: &lt;/td&gt;
&lt;td&gt; <span class="blue">$form.fields.usernameField</span> &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt; Password: &lt;/td&gt;
&lt;td&gt; <span class="blue">$form.fields.passwordField</span> &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
<span class="blue">$form.fields.okSubmit</span>
<span class="blue">$form.fields.cancelSubmit</span>
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
<span class="blue">$form.endTag()</span> </pre>
As you can see in this example most of the code and markup is generic and
could be reused. This is where Velocity Macros come in.
<a name="velocity-macros"></a>
<h4>Velocity Macros</h4>
Velocity Macros
(<a target="topic" href="../../../../../velocity/user-guide.html#Velocimacros">velocimacros</a>)
are a great way to encapsulate customized forms.
<p/>
To create a generic form layout you can use the Form <A HREF="../../../../org/apache/click/control/Form.html#getFieldList()"><CODE>getFieldList()</CODE></A> and
<A HREF="../../../../org/apache/click/control/Form.html#getButtonList()"><CODE>getButtonList()</CODE></A> properties within a Velocity macro. If you want to
access <em>all</em> Form Controls from within a Velocity template or macro use
<A HREF="../../../../org/apache/click/control/AbstractContainer.html#getControls()"><CODE>AbstractContainer.getControls()</CODE></A>.
<p/>
The example below provides a generic <span class="green">writeForm()</span>
macro which you could use through out an application. This Velocity macro code
would be contained in a macro file, e.g. <tt>macro.vm</tt>.
<pre class="codeHtml"> <span class="red">#*</span> Custom Form Macro Code <span class="red">*#</span>
<span class="red">#macro</span>( <span class="green">writeForm</span>[<span class="blue">$form</span>] )
<span class="blue">$form.startTag()</span>
&lt;table width="100%"&gt;
<span class="red">#if</span> (<span class="blue">$form.error</span>)
&lt;tr&gt;
&lt;td colspan="2" style="color: red;"&gt; <span class="blue">$form.error</span> &lt;/td&gt;
&lt;/tr&gt;
<span class="red">#end</span>
<span class="red">#foreach</span> (<span class="blue">$field</span> <span class="red">in</span> <span class="blue">$form.fieldList</span>)
<span class="red">#if</span> (!<span class="blue">$field.hidden</span>)
<span class="red">#if</span> (!<span class="blue">$field.valid</span>)
&lt;tr&gt;
&lt;td colspan="2"&gt; <span class="blue">$field.error</span> &lt;/td&gt;
&lt;/tr&gt;
<span class="red">#end</span>
&lt;tr&gt;
&lt;td&gt; <span class="blue">$field.label</span>: &lt;/td&gt;&lt;td&gt; <span class="blue">$field</span> &lt;/td&gt;
&lt;/tr&gt;
<span class="red">#end</span>
<span class="red">#end</span>
&lt;tr&gt;
&lt;td colspan="2"&gt;
<span class="red">#foreach</span> (<span class="blue">$button</span> <span class="red">in </span><span class="blue">$form.buttonList</span>)
<span class="blue">$button</span> &amp;nbsp;
<span class="red">#end</span>
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
<span class="blue">$form.endTag()</span>
<span class="red">#end</span> </pre>
You would then call this macro in your Page template passing it your
<span class="blue">form</span> object:
<pre class="codeHtml"> <span class="red">#</span><span class="green">writeForm</span>(<span class="blue">$form</span>) </pre>
At render time Velocity will execute the macro using the given form and render
the results to the response output stream.
<h4>Configuring Macros</h4>
To configure your application to use your macros you can:
<ul>
<li>
Put your macros if a file called <span class="st"><tt>macro.vm</tt></span>
in your applications root directory.
</li>
<li>
Put your macros in the auto deployed
<span class="st"><tt>click/VM_global_macro.vm</tt></span> file.
</li>
<li>
Create a custom named macro file and reference it in a
<span class="st"><tt>WEB-INF/velocity.properties</tt></span>
file under the property named
<tt>velocimacro.library</tt>.
</li>
</ul>
<a name="post-redirect"></a>
<h3>Preventing Accidental Form Posts</h3>
Users may accidentally make multiple form submissions by refreshing a page
or by pressing the back button.
<p/>
To prevent multiple form posts from page refreshes use the Post
Redirect pattern. With this pattern once the user has posted a form you
redirect to another page. If the user then presses the refresh button, they
will making a GET request on the current page. Please see the
<a target="blank" href="http://www.theserverside.com/articles/content/RedirectAfterPost/article.html">Redirect After Post</a>
article for more information on this topic.
<p/>
To prevent multiple form posts from use of the browser back button use one
of the Form <A HREF="../../../../org/apache/click/control/Form.html#onSubmitCheck(org.apache.click.Page, java.lang.String)"><CODE>onSubmitCheck(org.apache.click.Page, String)</CODE></A> methods. For example:
<pre class="prettyprint">
public class Purchase extends Page {
..
public boolean onSecurityCheck() {
return form.onSubmitCheck(this, "/invalid-submit.html");
}
} </pre>
The form submit check methods store a special token in the users session
and in a hidden field in the form to ensure a form post isn't replayed.
<a name="dynamic-forms"></a>
<h3>Dynamic Forms and <em>not</em> validating a request</h3>
A common use case for web applications is to create Form fields dynamically
based upon user selection. For example if a checkbox is ticked another Field
is added to the Form. A simple way to achieve this is using JavaScript
to submit the Form when the Field is changed or clicked.
<p/>
When submitting a Form using JavaScript, it is often desirable to <em>not</em>
validate the fields since the user is still filling out the form.
To cater for this use case, Form provides the <A HREF="../../../../org/apache/click/control/Form.html#setValidate(boolean)"><CODE>setValidate(boolean)</CODE></A>
to switch off form and field validation. For example:
<pre class="prettyprint">
public void onInit() {
checkbox.setAttribute("onclick", "form.submit()");
// Since onInit occurs before the onProcess event,
// we have to explicitly bind the submit button in the onInit event if we
// want to check if it was clicked.
// If the submit button wasn't clicked it means the Form was submitted
// using JavaScript and we don't want to validate yet
ClickUtils.bind(submit);
// If submit was not clicked, don't validate
if(form.isFormSubmission() && !submit.isClicked()) {
form.setValidate(false);
}
} </pre>
<p>&nbsp;<p/>
See also the W3C HTML reference:
<a class="external" target="_blank" title="W3C HTML 4.01 Specification"
href="http://www.w3.org/TR/html401/interact/forms.html#h-17.3">FORM</a>
<P>
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control"><CODE>Field</CODE></A>,
<A HREF="../../../../org/apache/click/control/Submit.html" title="class in org.apache.click.control"><CODE>Submit</CODE></A>,
<A HREF="../../../../serialized-form.html#org.apache.click.control.Form">Serialized Form</A></DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#actionURL">actionURL</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The form action URL.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#ALIGN_CENTER">ALIGN_CENTER</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The align center, form layout constant: &nbsp; <tt>"center"</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#ALIGN_LEFT">ALIGN_LEFT</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The align left, form layout constant: &nbsp; <tt>"left"</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#ALIGN_RIGHT">ALIGN_RIGHT</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The align right, form layout constant: &nbsp; <tt>"right"</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#buttonAlign">buttonAlign</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The button align, default value is "<tt>left</tt>".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Button.html" title="class in org.apache.click.control">Button</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#buttonList">buttonList</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The ordered list of button values.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#buttonStyle">buttonStyle</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The button &lt;td&gt; "style" attribute value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#columns">columns</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of form layout table columns, default value: <tt>1</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#defaultFieldSize">defaultFieldSize</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default field size, default value: <tt>0</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#disabled">disabled</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The form disabled value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#enctype">enctype</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The form "enctype" attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#error">error</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The form level error message.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#errorsAlign">errorsAlign</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The errors block align, default value is <tt>"left"</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#errorsPosition">errorsPosition</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The form errors position <tt>["top", "middle", "bottom"]</tt> default
value: &nbsp; <tt>"top"</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#errorsStyle">errorsStyle</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The error &lt;td&gt; "style" attribute value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#fieldList">fieldList</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The ordered list of fields, excluding buttons.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#fieldStyle">fieldStyle</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The field &lt;td&gt; "style" attribute value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>,<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Integer.html" title="class or interface in java.lang">Integer</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#fieldWidths">fieldWidths</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The map of field width values.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#FOCUS_JAVASCRIPT">FOCUS_JAVASCRIPT</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Form set field focus JavaScript.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#FORM_NAME">FORM_NAME</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The form name parameter for multiple forms: &nbsp; <tt>"form_name"</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Boolean.html" title="class or interface in java.lang">Boolean</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#formSubmission">formSubmission</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flag indicating whether this form was submitted.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#javaScriptValidation">javaScriptValidation</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The JavaScript client side form fields validation flag.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#labelAlign">labelAlign</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The label align, default value is <tt>"left"</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#labelsPosition">labelsPosition</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The form labels position <tt>["left", "top"]</tt> default value: &nbsp;
<tt>"left"</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#labelStyle">labelStyle</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The label &lt;td&gt; "style" attribute value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#method">method</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The form method <tt>["post, "get"]</tt>, default value: &nbsp;
<tt>post</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#MULTIPART_FORM_DATA">MULTIPART_FORM_DATA</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The HTTP content type header for multipart forms.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#POSITION_BOTTOM">POSITION_BOTTOM</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The position bottom, errors on bottom form layout constant: &nbsp;
<tt>"top"</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#POSITION_LEFT">POSITION_LEFT</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The position left, labels of left form layout constant: &nbsp;
<tt>"left"</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#POSITION_MIDDLE">POSITION_MIDDLE</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The position middle, errors in middle form layout constant: &nbsp;
<tt>"middle"</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#POSITION_TOP">POSITION_TOP</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The position top, errors and labels form layout constant: &nbsp;
<tt>"top"</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#readonly">readonly</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The form is readonly flag.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#SUBMIT_CHECK">SUBMIT_CHECK</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The submit check reserved request parameter prefix: &nbsp;
<tt>SUBMIT_CHECK_</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#validate">validate</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The form validate fields when processing flag.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.click.control.AbstractContainer"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.apache.click.control.<A HREF="../../../../org/apache/click/control/AbstractContainer.html" title="class in org.apache.click.control">AbstractContainer</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/click/control/AbstractContainer.html#controlMap">controlMap</A>, <A HREF="../../../../org/apache/click/control/AbstractContainer.html#controls">controls</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.click.control.AbstractControl"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.apache.click.control.<A HREF="../../../../org/apache/click/control/AbstractControl.html" title="class in org.apache.click.control">AbstractControl</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/click/control/AbstractControl.html#actionListener">actionListener</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#attributes">attributes</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#behaviors">behaviors</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#headElements">headElements</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#listener">listener</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#listenerMethod">listenerMethod</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#messages">messages</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#name">name</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#parent">parent</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#styles">styles</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.click.Control"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from interface org.apache.click.<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/click/Control.html#CONTROL_MESSAGES">CONTROL_MESSAGES</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#Form()">Form</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a form with no name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#Form(java.lang.String)">Form</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a form with the given name.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#add(org.apache.click.Control)">add</A></B>(<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A>&nbsp;control)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a Control to the form and return the added instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#add(org.apache.click.Control, int)">add</A></B>(<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A>&nbsp;control,
int&nbsp;width)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add the control to the form and specify the control's width in columns.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#add(org.apache.click.control.Field)">add</A></B>(<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&nbsp;field)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add the field to the form, and set the fields form property.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#add(org.apache.click.control.Field, int)">add</A></B>(<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&nbsp;field,
int&nbsp;width)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add the field to the form and specify the field's width in columns.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#clearErrors()">clearErrors</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear any form or field errors by setting them to null.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#clearValues()">clearValues</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear all the form field values setting them to null.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#copyFrom(java.lang.Object)">copyFrom</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;object)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copy the given object's attributes into the Form's field values.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#copyFrom(java.lang.Object, boolean)">copyFrom</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;object,
boolean&nbsp;debug)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copy the given object's attributes into the Form's field values.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#copyTo(java.lang.Object)">copyTo</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;object)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copy the Form's field values into the given object's attributes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#copyTo(java.lang.Object, boolean)">copyTo</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;object,
boolean&nbsp;debug)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copy the Form's field values into the given object's attributes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#endTag()">endTag</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the rendered form end tag and JavaScript for field focus
and validation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getActionURL()">getActionURL</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the form "action" attribute URL value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getButtonAlign()">getButtonAlign</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the buttons &lt;td&gt; HTML horizontal alignment: "<tt>left</tt>",
"<tt>center</tt>", "<tt>right</tt>".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Button.html" title="class in org.apache.click.control">Button</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getButtonList()">getButtonList</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the ordered list of <A HREF="../../../../org/apache/click/control/Button.html" title="class in org.apache.click.control"><CODE>Button</CODE></A>s.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getButtonStyle()">getButtonStyle</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the button &lt;td&gt; "style" attribute value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getColumns()">getColumns</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the number of form layout table columns.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getControlSizeEst()">getControlSizeEst</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the estimated rendered control size in characters.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getDefaultFieldSize()">getDefaultFieldSize</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the form default field size.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getEnctype()">getEnctype</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the form "enctype" attribute value, or null if not defined.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getError()">getError</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the form level error message.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getErrorFields()">getErrorFields</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a list of form fields which are not valid, not hidden and not
disabled.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getErrorsAlign()">getErrorsAlign</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the errors block HTML horizontal alignment: "<tt>left</tt>",
"<tt>center</tt>", "<tt>right</tt>".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getErrorsPosition()">getErrorsPosition</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the form errors position <tt>["top", "middle", "bottom"]</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getErrorsStyle()">getErrorsStyle</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the error &lt;td&gt; "style" attribute value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getField(java.lang.String)">getField</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the named field if contained in the form or null if not found.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getFieldList()">getFieldList</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the ordered list of form fields, excluding buttons.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>,<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getFields()">getFields</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the Map of form fields (including buttons), keyed
on field name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getFieldStyle()">getFieldStyle</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the field &lt;td&gt; "style" attribute value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getFieldValue(java.lang.String)">getFieldValue</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the field value for the named field, or null if the field is not
found.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>,<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Integer.html" title="class or interface in java.lang">Integer</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getFieldWidths()">getFieldWidths</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the map of field width values, keyed on field name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getFormSizeEst(java.util.List)">getFormSizeEst</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&gt;&nbsp;formFields)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the estimated rendered form size in characters.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/element/Element.html" title="class in org.apache.click.element">Element</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getHeadElements()">getHeadElements</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the Form HEAD elements to be included in the page.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getJavaScriptValidation()">getJavaScriptValidation</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>use <A HREF="../../../../org/apache/click/control/Form.html#isJavaScriptValidation()"><CODE>isJavaScriptValidation()</CODE></A> instead</I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getLabelAlign()">getLabelAlign</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the field label HTML horizontal alignment: "<tt>left</tt>",
"<tt>center</tt>", "<tt>right</tt>".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getLabelsPosition()">getLabelsPosition</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the form labels position <tt>["left", "top"]</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getLabelStyle()">getLabelStyle</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the label &lt;td&gt; "style" attribute value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getMethod()">getMethod</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the form method <tt>["post" | "get"]</tt>, default value is
<tt>post</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getState()">getState</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the form state.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getTag()">getTag</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the form's html tag: <tt>form</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#getValidate()">getValidate</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return true if the Form fields should validate themselves when being
processed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#hasPostError()">hasPostError</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if a POST error occurred, false otherwise.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#insert(org.apache.click.Control, int)">insert</A></B>(<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A>&nbsp;control,
int&nbsp;index)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add the control to the form at the specified index, and return the
added instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#isDisabled()">isDisabled</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return true if the form is a disabled.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#isFormSubmission()">isFormSubmission</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return true if the page request is a submission from this form.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#isJavaScriptValidation()">isJavaScriptValidation</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return true if JavaScript client side form validation is enabled.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#isReadonly()">isReadonly</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return true if the form is a readonly.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#isValid()">isValid</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return true if the fields are valid and there is no form level error,
otherwise return false.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#onDestroy()">onDestroy</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Destroy the controls contained in the Form and clear any form
error message.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#onProcess()">onProcess</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process the Form and its child controls only if the Form was submitted
by the user.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#onSubmitCheck(org.apache.click.Page, java.lang.Class)">onSubmitCheck</A></B>(<A HREF="../../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;? extends <A HREF="../../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&gt;&nbsp;pageClass)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perform a form submission check ensuring the user has not replayed the
form submission by using the browser back button.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#onSubmitCheck(org.apache.click.Page, java.lang.Object, java.lang.String)">onSubmitCheck</A></B>(<A HREF="../../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;submitListener,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;submitListenerMethod)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perform a form submission check ensuring the user has not replayed the
form submission by using the browser back button.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#onSubmitCheck(org.apache.click.Page, java.lang.String)">onSubmitCheck</A></B>(<A HREF="../../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;redirectPath)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perform a form submission check ensuring the user has not replayed the
form submission by using the browser's back or refresh buttons or by
clicking the Form submit button twice, in quick succession.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#performSubmitCheck()">performSubmitCheck</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perform a back button submit check, returning true if the request is
valid or false otherwise.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#remove(org.apache.click.Control)">remove</A></B>(<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A>&nbsp;control)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the given control from the container, returning true if the
control was found in the container and removed, or false if the control
was not found.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#removeField(java.lang.String)">removeField</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the named field from the form, returning true if removed
or false if not found.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#removeFields(java.util.List)">removeFields</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&gt;&nbsp;fieldNames)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the list of named fields from the form.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#removeState(org.apache.click.Context)">removeState</A></B>(<A HREF="../../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the Form state from the session for the given request context.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#render(org.apache.click.util.HtmlStringBuffer)">render</A></B>(<A HREF="../../../../org/apache/click/util/HtmlStringBuffer.html" title="class in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render the HTML representation of the Form.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#renderButtons(org.apache.click.util.HtmlStringBuffer)">renderButtons</A></B>(<A HREF="../../../../org/apache/click/util/HtmlStringBuffer.html" title="class in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render the given list of Buttons to the string buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#renderControls(org.apache.click.util.HtmlStringBuffer, org.apache.click.control.Container, java.util.List, java.util.Map, int)">renderControls</A></B>(<A HREF="../../../../org/apache/click/util/HtmlStringBuffer.html" title="class in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer,
<A HREF="../../../../org/apache/click/control/Container.html" title="interface in org.apache.click.control">Container</A>&nbsp;container,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A>&gt;&nbsp;controls,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>,<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Integer.html" title="class or interface in java.lang">Integer</A>&gt;&nbsp;fieldWidths,
int&nbsp;columns)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render the specified controls of the container to the string buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#renderErrors(org.apache.click.util.HtmlStringBuffer, boolean)">renderErrors</A></B>(<A HREF="../../../../org/apache/click/util/HtmlStringBuffer.html" title="class in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer,
boolean&nbsp;processed)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render the form errors to the given buffer is form processed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#renderFields(org.apache.click.util.HtmlStringBuffer)">renderFields</A></B>(<A HREF="../../../../org/apache/click/util/HtmlStringBuffer.html" title="class in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render the non hidden Form Fields to the string buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#renderFocusJavaScript(org.apache.click.util.HtmlStringBuffer, java.util.List)">renderFocusJavaScript</A></B>(<A HREF="../../../../org/apache/click/util/HtmlStringBuffer.html" title="class in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&gt;&nbsp;formFields)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render the Form field focus JavaScript to the string buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#renderHeader(org.apache.click.util.HtmlStringBuffer, java.util.List)">renderHeader</A></B>(<A HREF="../../../../org/apache/click/util/HtmlStringBuffer.html" title="class in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&gt;&nbsp;formFields)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render the given form start tag and the form hidden fields to the given
buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#renderTagEnd(java.util.List, org.apache.click.util.HtmlStringBuffer)">renderTagEnd</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&gt;&nbsp;formFields,
<A HREF="../../../../org/apache/click/util/HtmlStringBuffer.html" title="class in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Close the form tag and render any additional content after the Form.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#renderValidationJavaScript(org.apache.click.util.HtmlStringBuffer, java.util.List)">renderValidationJavaScript</A></B>(<A HREF="../../../../org/apache/click/util/HtmlStringBuffer.html" title="class in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&gt;&nbsp;formFields)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render the Form validation JavaScript to the string buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#replace(org.apache.click.Control, org.apache.click.Control)">replace</A></B>(<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A>&nbsp;currentControl,
<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A>&nbsp;newControl)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>this method was used for stateful pages, which have been deprecated</I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#restoreState(org.apache.click.Context)">restoreState</A></B>(<A HREF="../../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Restore the Form state from the session for the given request context.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#saveState(org.apache.click.Context)">saveState</A></B>(<A HREF="../../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Save the Form state to the session for the given request context.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setActionURL(java.lang.String)">setActionURL</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the form "action" attribute URL value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setButtonAlign(java.lang.String)">setButtonAlign</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;align)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the button &lt;td&gt; HTML horizontal alignment: "<tt>left</tt>",
"<tt>center</tt>", "<tt>right</tt>".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setButtonStyle(java.lang.String)">setButtonStyle</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the button &lt;td&gt; "style" attribute value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setColumns(int)">setColumns</A></B>(int&nbsp;columns)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the number of form layout table columns.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setDefaultFieldSize(int)">setDefaultFieldSize</A></B>(int&nbsp;size)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the form default field size.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setDisabled(boolean)">setDisabled</A></B>(boolean&nbsp;disabled)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the form disabled flag.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setEnctype(java.lang.String)">setEnctype</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;enctype)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the form "enctype" attribute value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setError(java.lang.String)">setError</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;error)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the form level validation error message.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setErrorsAlign(java.lang.String)">setErrorsAlign</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;align)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the errors block HTML horizontal alignment: "<tt>left</tt>",
"<tt>center</tt>", "<tt>right</tt>".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setErrorsPosition(java.lang.String)">setErrorsPosition</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;position)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the form errors position <tt>["top", "middle", "bottom"]</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setErrorsStyle(java.lang.String)">setErrorsStyle</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the errors &lt;td&gt; "style" attribute value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setFieldStyle(java.lang.String)">setFieldStyle</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the field &lt;td&gt; "style" attribute value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setJavaScriptValidation(boolean)">setJavaScriptValidation</A></B>(boolean&nbsp;validate)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the JavaScript client side form validation flag.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setLabelAlign(java.lang.String)">setLabelAlign</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;align)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the field label HTML horizontal alignment: "<tt>left</tt>",
"<tt>center</tt>", "<tt>right</tt>".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setLabelsPosition(java.lang.String)">setLabelsPosition</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;position)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the form labels position <tt>["left", "top"]</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setLabelStyle(java.lang.String)">setLabelStyle</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the label &lt;td&gt; "style" attribute value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setListener(java.lang.Object, java.lang.String)">setListener</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;listener,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;method)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The callback listener will only be called during processing if the field
value is valid.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setMethod(java.lang.String)">setMethod</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the form method <tt>["post" | "get"]</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setName(java.lang.String)">setName</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the name of the form.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setReadonly(boolean)">setReadonly</A></B>(boolean&nbsp;readonly)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the form readonly flag.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setState(java.lang.Object)">setState</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;state)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the Form state.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#setValidate(boolean)">setValidate</A></B>(boolean&nbsp;validate)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the Form field validation flag, telling the Fields to validate
themselves when their <tt>onProcess()</tt> method is invoked.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#startTag()">startTag</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the rendered opening form tag and all the forms hidden fields.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#validate()">validate</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The validate method is invoked by <A HREF="../../../../org/apache/click/control/Form.html#onProcess()"><CODE>onProcess()</CODE></A> to validate
the request submission.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/click/control/Form.html#validateFileUpload()">validateFileUpload</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Validate the request for any file upload (multipart) errors.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.click.control.AbstractContainer"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.click.control.<A HREF="../../../../org/apache/click/control/AbstractContainer.html" title="class in org.apache.click.control">AbstractContainer</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/click/control/AbstractContainer.html#contains(org.apache.click.Control)">contains</A>, <A HREF="../../../../org/apache/click/control/AbstractContainer.html#getControl(java.lang.String)">getControl</A>, <A HREF="../../../../org/apache/click/control/AbstractContainer.html#getControlMap()">getControlMap</A>, <A HREF="../../../../org/apache/click/control/AbstractContainer.html#getControls()">getControls</A>, <A HREF="../../../../org/apache/click/control/AbstractContainer.html#hasControls()">hasControls</A>, <A HREF="../../../../org/apache/click/control/AbstractContainer.html#onInit()">onInit</A>, <A HREF="../../../../org/apache/click/control/AbstractContainer.html#onRender()">onRender</A>, <A HREF="../../../../org/apache/click/control/AbstractContainer.html#renderChildren(org.apache.click.util.HtmlStringBuffer)">renderChildren</A>, <A HREF="../../../../org/apache/click/control/AbstractContainer.html#renderContent(org.apache.click.util.HtmlStringBuffer)">renderContent</A>, <A HREF="../../../../org/apache/click/control/AbstractContainer.html#renderTagEnd(java.lang.String, org.apache.click.util.HtmlStringBuffer)">renderTagEnd</A>, <A HREF="../../../../org/apache/click/control/AbstractContainer.html#toString()">toString</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.click.control.AbstractControl"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.click.control.<A HREF="../../../../org/apache/click/control/AbstractControl.html" title="class in org.apache.click.control">AbstractControl</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/click/control/AbstractControl.html#addBehavior(org.apache.click.Behavior)">addBehavior</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#addStyleClass(java.lang.String)">addStyleClass</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#appendAttributes(org.apache.click.util.HtmlStringBuffer)">appendAttributes</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#dispatchActionEvent()">dispatchActionEvent</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#getActionListener()">getActionListener</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#getAttribute(java.lang.String)">getAttribute</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#getAttributes()">getAttributes</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#getBehaviors()">getBehaviors</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#getContext()">getContext</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#getHtmlImports()">getHtmlImports</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#getId()">getId</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#getMessage(java.lang.String)">getMessage</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#getMessage(java.lang.String, java.lang.Object...)">getMessage</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#getMessages()">getMessages</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#getName()">getName</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#getPage()">getPage</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#getParent()">getParent</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#getStyle(java.lang.String)">getStyle</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#getStyles()">getStyles</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#hasAttribute(java.lang.String)">hasAttribute</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#hasAttributes()">hasAttributes</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#hasBehaviors()">hasBehaviors</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#hasStyles()">hasStyles</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#isAjaxTarget(org.apache.click.Context)">isAjaxTarget</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#onDeploy(javax.servlet.ServletContext)">onDeploy</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#removeBehavior(org.apache.click.Behavior)">removeBehavior</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#removeStyleClass(java.lang.String)">removeStyleClass</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#renderTagBegin(java.lang.String, org.apache.click.util.HtmlStringBuffer)">renderTagBegin</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#setActionListener(org.apache.click.ActionListener)">setActionListener</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#setAttribute(java.lang.String, java.lang.String)">setAttribute</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#setId(java.lang.String)">setId</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#setParent(java.lang.Object)">setParent</A>, <A HREF="../../../../org/apache/click/control/AbstractControl.html#setStyle(java.lang.String, java.lang.String)">setStyle</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.click.Control"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface org.apache.click.<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/click/Control.html#getBehaviors()">getBehaviors</A>, <A HREF="../../../../org/apache/click/Control.html#getContext()">getContext</A>, <A HREF="../../../../org/apache/click/Control.html#getId()">getId</A>, <A HREF="../../../../org/apache/click/Control.html#getMessages()">getMessages</A>, <A HREF="../../../../org/apache/click/Control.html#getName()">getName</A>, <A HREF="../../../../org/apache/click/Control.html#getParent()">getParent</A>, <A HREF="../../../../org/apache/click/Control.html#hasBehaviors()">hasBehaviors</A>, <A HREF="../../../../org/apache/click/Control.html#isAjaxTarget(org.apache.click.Context)">isAjaxTarget</A>, <A HREF="../../../../org/apache/click/Control.html#onDeploy(javax.servlet.ServletContext)">onDeploy</A>, <A HREF="../../../../org/apache/click/Control.html#setParent(java.lang.Object)">setParent</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="ALIGN_LEFT"><!-- --></A><H3>
ALIGN_LEFT</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>ALIGN_LEFT</B></PRE>
<DL>
<DD>The align left, form layout constant: &nbsp; <tt>"left"</tt>.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.click.control.Form.ALIGN_LEFT">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="ALIGN_CENTER"><!-- --></A><H3>
ALIGN_CENTER</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>ALIGN_CENTER</B></PRE>
<DL>
<DD>The align center, form layout constant: &nbsp; <tt>"center"</tt>.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.click.control.Form.ALIGN_CENTER">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="ALIGN_RIGHT"><!-- --></A><H3>
ALIGN_RIGHT</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>ALIGN_RIGHT</B></PRE>
<DL>
<DD>The align right, form layout constant: &nbsp; <tt>"right"</tt>.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.click.control.Form.ALIGN_RIGHT">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="POSITION_TOP"><!-- --></A><H3>
POSITION_TOP</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>POSITION_TOP</B></PRE>
<DL>
<DD>The position top, errors and labels form layout constant: &nbsp;
<tt>"top"</tt>.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.click.control.Form.POSITION_TOP">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="POSITION_MIDDLE"><!-- --></A><H3>
POSITION_MIDDLE</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>POSITION_MIDDLE</B></PRE>
<DL>
<DD>The position middle, errors in middle form layout constant: &nbsp;
<tt>"middle"</tt>.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.click.control.Form.POSITION_MIDDLE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="POSITION_BOTTOM"><!-- --></A><H3>
POSITION_BOTTOM</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>POSITION_BOTTOM</B></PRE>
<DL>
<DD>The position bottom, errors on bottom form layout constant: &nbsp;
<tt>"top"</tt>.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.click.control.Form.POSITION_BOTTOM">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="POSITION_LEFT"><!-- --></A><H3>
POSITION_LEFT</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>POSITION_LEFT</B></PRE>
<DL>
<DD>The position left, labels of left form layout constant: &nbsp;
<tt>"left"</tt>.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.click.control.Form.POSITION_LEFT">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="FORM_NAME"><!-- --></A><H3>
FORM_NAME</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>FORM_NAME</B></PRE>
<DL>
<DD>The form name parameter for multiple forms: &nbsp; <tt>"form_name"</tt>.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.click.control.Form.FORM_NAME">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="MULTIPART_FORM_DATA"><!-- --></A><H3>
MULTIPART_FORM_DATA</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>MULTIPART_FORM_DATA</B></PRE>
<DL>
<DD>The HTTP content type header for multipart forms.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.click.control.Form.MULTIPART_FORM_DATA">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="SUBMIT_CHECK"><!-- --></A><H3>
SUBMIT_CHECK</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>SUBMIT_CHECK</B></PRE>
<DL>
<DD>The submit check reserved request parameter prefix: &nbsp;
<tt>SUBMIT_CHECK_</tt>.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.click.control.Form.SUBMIT_CHECK">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="FOCUS_JAVASCRIPT"><!-- --></A><H3>
FOCUS_JAVASCRIPT</H3>
<PRE>
protected static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>FOCUS_JAVASCRIPT</B></PRE>
<DL>
<DD>The Form set field focus JavaScript.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.click.control.Form.FOCUS_JAVASCRIPT">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="actionURL"><!-- --></A><H3>
actionURL</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>actionURL</B></PRE>
<DL>
<DD>The form action URL.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="disabled"><!-- --></A><H3>
disabled</H3>
<PRE>
protected boolean <B>disabled</B></PRE>
<DL>
<DD>The form disabled value.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="enctype"><!-- --></A><H3>
enctype</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>enctype</B></PRE>
<DL>
<DD>The form "enctype" attribute.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="error"><!-- --></A><H3>
error</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>error</B></PRE>
<DL>
<DD>The form level error message.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="fieldList"><!-- --></A><H3>
fieldList</H3>
<PRE>
protected final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&gt; <B>fieldList</B></PRE>
<DL>
<DD>The ordered list of fields, excluding buttons.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="method"><!-- --></A><H3>
method</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>method</B></PRE>
<DL>
<DD>The form method <tt>["post, "get"]</tt>, default value: &nbsp;
<tt>post</tt>.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="readonly"><!-- --></A><H3>
readonly</H3>
<PRE>
protected boolean <B>readonly</B></PRE>
<DL>
<DD>The form is readonly flag.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="validate"><!-- --></A><H3>
validate</H3>
<PRE>
protected boolean <B>validate</B></PRE>
<DL>
<DD>The form validate fields when processing flag.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="buttonAlign"><!-- --></A><H3>
buttonAlign</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>buttonAlign</B></PRE>
<DL>
<DD>The button align, default value is "<tt>left</tt>".
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="buttonList"><!-- --></A><H3>
buttonList</H3>
<PRE>
protected final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Button.html" title="class in org.apache.click.control">Button</A>&gt; <B>buttonList</B></PRE>
<DL>
<DD>The ordered list of button values.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="buttonStyle"><!-- --></A><H3>
buttonStyle</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>buttonStyle</B></PRE>
<DL>
<DD>The button &lt;td&gt; "style" attribute value.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="columns"><!-- --></A><H3>
columns</H3>
<PRE>
protected int <B>columns</B></PRE>
<DL>
<DD>The number of form layout table columns, default value: <tt>1</tt>.
<p/>
This property is used to layout the number of table columns the form
is rendered with using a flow layout style.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="defaultFieldSize"><!-- --></A><H3>
defaultFieldSize</H3>
<PRE>
protected int <B>defaultFieldSize</B></PRE>
<DL>
<DD>The default field size, default value: <tt>0</tt>.
<p/>
If the form default field size is greater than 0, when fields are added
to the form the field's size will be set to the default value.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="errorsAlign"><!-- --></A><H3>
errorsAlign</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>errorsAlign</B></PRE>
<DL>
<DD>The errors block align, default value is <tt>"left"</tt>.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="errorsPosition"><!-- --></A><H3>
errorsPosition</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>errorsPosition</B></PRE>
<DL>
<DD>The form errors position <tt>["top", "middle", "bottom"]</tt> default
value: &nbsp; <tt>"top"</tt>.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="errorsStyle"><!-- --></A><H3>
errorsStyle</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>errorsStyle</B></PRE>
<DL>
<DD>The error &lt;td&gt; "style" attribute value.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="fieldStyle"><!-- --></A><H3>
fieldStyle</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>fieldStyle</B></PRE>
<DL>
<DD>The field &lt;td&gt; "style" attribute value.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="fieldWidths"><!-- --></A><H3>
fieldWidths</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>,<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Integer.html" title="class or interface in java.lang">Integer</A>&gt; <B>fieldWidths</B></PRE>
<DL>
<DD>The map of field width values.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="formSubmission"><!-- --></A><H3>
formSubmission</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Boolean.html" title="class or interface in java.lang">Boolean</A> <B>formSubmission</B></PRE>
<DL>
<DD>Flag indicating whether this form was submitted.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="javaScriptValidation"><!-- --></A><H3>
javaScriptValidation</H3>
<PRE>
protected boolean <B>javaScriptValidation</B></PRE>
<DL>
<DD>The JavaScript client side form fields validation flag. By default
JavaScript validation is not enabled.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="labelAlign"><!-- --></A><H3>
labelAlign</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>labelAlign</B></PRE>
<DL>
<DD>The label align, default value is <tt>"left"</tt>.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="labelsPosition"><!-- --></A><H3>
labelsPosition</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>labelsPosition</B></PRE>
<DL>
<DD>The form labels position <tt>["left", "top"]</tt> default value: &nbsp;
<tt>"left"</tt>.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="labelStyle"><!-- --></A><H3>
labelStyle</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>labelStyle</B></PRE>
<DL>
<DD>The label &lt;td&gt; "style" attribute value.
<P>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="Form(java.lang.String)"><!-- --></A><H3>
Form</H3>
<PRE>
public <B>Form</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
<DL>
<DD>Create a form with the given name.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the form
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the form name is null</DL>
</DL>
<HR>
<A NAME="Form()"><!-- --></A><H3>
Form</H3>
<PRE>
public <B>Form</B>()</PRE>
<DL>
<DD>Create a form with no name.
<p/>
<b>Please note</b> the control's name must be defined before it is valid.
<P>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="insert(org.apache.click.Control, int)"><!-- --></A><H3>
insert</H3>
<PRE>
public <A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A> <B>insert</B>(<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A>&nbsp;control,
int&nbsp;index)</PRE>
<DL>
<DD>Add the control to the form at the specified index, and return the
added instance.
<p/>
<b>Please note</b>: if the form contains a control with the same name as
the given control, that control will be
<A HREF="../../../../org/apache/click/control/Form.html#replace(org.apache.click.Control, org.apache.click.Control)"><CODE>replaced</CODE></A>
by the given control. If a control has no name defined it cannot be replaced.
<p/>
Controls can be retrieved from the Map <A HREF="../../../../org/apache/click/control/AbstractContainer.html#getControlMap()"><CODE>controlMap</CODE></A>
where the key is the Control name and value is the Control instance.
<p/>
All controls are available on the <A HREF="../../../../org/apache/click/control/AbstractContainer.html#getControls()"><CODE>controls</CODE></A> list
at the index they were inserted. If you are only interested in Fields,
note that Buttons are available on the <A HREF="../../../../org/apache/click/control/Form.html#getButtonList()"><CODE>buttonList</CODE></A>
while other fields are available on <A HREF="../../../../org/apache/click/control/Form.html#getFieldList()"><CODE>fieldList</CODE></A>.
<p/>
The specified index only applies to <A HREF="../../../../org/apache/click/control/AbstractContainer.html#getControls()"><CODE>controls</CODE></A>, not
<A HREF="../../../../org/apache/click/control/Form.html#getButtonList()"><CODE>buttonList</CODE></A> or <A HREF="../../../../org/apache/click/control/Form.html#getFieldList()"><CODE>fieldList</CODE></A>.
<p/>
<b>Please note</b> if the specified control already has a parent assigned,
it will automatically be removed from that parent and inserted into the
form.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/click/control/Container.html#insert(org.apache.click.Control, int)">insert</A></CODE> in interface <CODE><A HREF="../../../../org/apache/click/control/Container.html" title="interface in org.apache.click.control">Container</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/click/control/AbstractContainer.html#insert(org.apache.click.Control, int)">insert</A></CODE> in class <CODE><A HREF="../../../../org/apache/click/control/AbstractContainer.html" title="class in org.apache.click.control">AbstractContainer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>control</CODE> - the control to add to the container<DD><CODE>index</CODE> - the index at which the control is to be inserted
<DT><B>Returns:</B><DD>the control that was added to the container
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the control is null or if the control
and container is the same instance or if the Field name is not defined
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if index is out of range
<tt>(index &lt; 0 || index &gt; getControls().size())</tt><DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/control/Container.html#insert(org.apache.click.Control, int)"><CODE>Container.insert(org.apache.click.Control, int)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="add(org.apache.click.Control)"><!-- --></A><H3>
add</H3>
<PRE>
public <A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A> <B>add</B>(<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A>&nbsp;control)</PRE>
<DL>
<DD>Add a Control to the form and return the added instance.
<p/>
<b>Please note</b>: if the form contains a control with the same name as
the given control, that control will be
<A HREF="../../../../org/apache/click/control/Form.html#replace(org.apache.click.Control, org.apache.click.Control)"><CODE>replaced</CODE></A>
by the given control. If a control has no name defined it cannot be replaced.
<p/>
Controls can be retrieved from the Map <A HREF="../../../../org/apache/click/control/AbstractContainer.html#getControlMap()"><CODE>controlMap</CODE></A>
where the key is the Control name and value is the Control instance.
<p/>
All controls are available on the <A HREF="../../../../org/apache/click/control/AbstractContainer.html#getControls()"><CODE>controls</CODE></A> list
in the order they were added. If you are only interested in Fields,
note that Buttons are available on the <A HREF="../../../../org/apache/click/control/Form.html#getButtonList()"><CODE>buttonList</CODE></A>
while other fields are available on <A HREF="../../../../org/apache/click/control/Form.html#getFieldList()"><CODE>fieldList</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/click/control/Container.html#add(org.apache.click.Control)">add</A></CODE> in interface <CODE><A HREF="../../../../org/apache/click/control/Container.html" title="interface in org.apache.click.control">Container</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/click/control/AbstractContainer.html#add(org.apache.click.Control)">add</A></CODE> in class <CODE><A HREF="../../../../org/apache/click/control/AbstractContainer.html" title="class in org.apache.click.control">AbstractContainer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>control</CODE> - the control to add to the container and return
<DT><B>Returns:</B><DD>the control that was added to the container
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the control is null, the Control name
is not defined or the container already contains a control with the same
name<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/control/Container.html#add(org.apache.click.Control)"><CODE>Container.add(org.apache.click.Control)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="add(org.apache.click.control.Field)"><!-- --></A><H3>
add</H3>
<PRE>
public <A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A> <B>add</B>(<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&nbsp;field)</PRE>
<DL>
<DD>Add the field to the form, and set the fields form property.
<p/>
<b>Please note</b>: if the form contains a control with the same name as
the given control, that control will be
<A HREF="../../../../org/apache/click/control/Form.html#replace(org.apache.click.Control, org.apache.click.Control)"><CODE>replaced</CODE></A>
by the given control. If a control has no name defined it cannot be replaced.
<p/>
Fields can be retrieved from the Map <A HREF="../../../../org/apache/click/control/Form.html#getFields()"><CODE>fields</CODE></A> where
the key is the Field name and value is the Field instance.
<p/>
Buttons are available on the <A HREF="../../../../org/apache/click/control/Form.html#getButtonList()"><CODE>buttonList</CODE></A> while
other fields are available on <A HREF="../../../../org/apache/click/control/Form.html#getFieldList()"><CODE>fieldList</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>field</CODE> - the field to add to the form
<DT><B>Returns:</B><DD>the field added to this form
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the field is null, the field name
is not defined or the form already contains a control with the same name<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/control/Form.html#add(org.apache.click.Control)"><CODE>add(org.apache.click.Control)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="add(org.apache.click.control.Field, int)"><!-- --></A><H3>
add</H3>
<PRE>
public <A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A> <B>add</B>(<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&nbsp;field,
int&nbsp;width)</PRE>
<DL>
<DD>Add the field to the form and specify the field's width in columns.
<p/>
<b>Please note</b>: if the form contains a control with the same name as
the given control, that control will be
<A HREF="../../../../org/apache/click/control/Form.html#replace(org.apache.click.Control, org.apache.click.Control)"><CODE>replaced</CODE></A>
by the given control. If a control has no name defined it cannot be replaced.
<p/>
Fields can be retrieved from the Map <A HREF="../../../../org/apache/click/control/Form.html#getFields()"><CODE>fields</CODE></A> where
the key is the Field name and value is the Field instance.
<p/>
Fields are available on <A HREF="../../../../org/apache/click/control/Form.html#getFieldList()"><CODE>fieldList</CODE></A>.
<p/>
Note Button and HiddenField types are not valid arguments for this method.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>field</CODE> - the field to add to the form<DD><CODE>width</CODE> - the width of the field in table columns
<DT><B>Returns:</B><DD>the field added to this form
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the field is null, field name is
not defined, field is a Button or HiddenField, the form already contains
a field with the same name or the width &lt; 1<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/control/Form.html#add(org.apache.click.Control)"><CODE>add(org.apache.click.Control)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="add(org.apache.click.Control, int)"><!-- --></A><H3>
add</H3>
<PRE>
public <A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A> <B>add</B>(<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A>&nbsp;control,
int&nbsp;width)</PRE>
<DL>
<DD>Add the control to the form and specify the control's width in columns.
<p/>
<b>Please note</b>: if the form contains a control with the same name as
the given control, that control will be
<A HREF="../../../../org/apache/click/control/Form.html#replace(org.apache.click.Control, org.apache.click.Control)"><CODE>replaced</CODE></A>
by the given control. If a control has no name defined it cannot be replaced.
<p/>
Controls can be retrieved from the Map <A HREF="../../../../org/apache/click/control/AbstractContainer.html#getControlMap()"><CODE>controlMap</CODE></A>
where the key is the Control name and value is the Control instance.
<p/>
Controls are available on the <A HREF="../../../../org/apache/click/control/AbstractContainer.html#getControls()"><CODE>controls</CODE></A> list.
<p/>
Note Button and HiddenField types are not valid arguments for this method.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>control</CODE> - the control to add to the form<DD><CODE>width</CODE> - the width of the control in table columns
<DT><B>Returns:</B><DD>the control added to this form
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the control is null, control is a
Button or HiddenField, the form already contains a control with the same
name or the width &lt; 1<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/control/Form.html#add(org.apache.click.Control)"><CODE>add(org.apache.click.Control)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="replace(org.apache.click.Control, org.apache.click.Control)"><!-- --></A><H3>
replace</H3>
<PRE>
public <A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A> <B>replace</B>(<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A>&nbsp;currentControl,
<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A>&nbsp;newControl)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>this method was used for stateful pages, which have been deprecated</I>
<P>
<DD>Replace the control in the form at the specified index, and return
the newly added control.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/click/control/Container.html#replace(org.apache.click.Control, org.apache.click.Control)">replace</A></CODE> in interface <CODE><A HREF="../../../../org/apache/click/control/Container.html" title="interface in org.apache.click.control">Container</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/click/control/AbstractContainer.html#replace(org.apache.click.Control, org.apache.click.Control)">replace</A></CODE> in class <CODE><A HREF="../../../../org/apache/click/control/AbstractContainer.html" title="class in org.apache.click.control">AbstractContainer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>currentControl</CODE> - the control currently contained in the form<DD><CODE>newControl</CODE> - the control to replace the current control contained in
the form
<DT><B>Returns:</B><DD>the new control that replaced the current control
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the currentControl or newControl is
null
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html" title="class or interface in java.lang">IllegalStateException</A></CODE> - if the currentControl is not contained in
the form<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/control/Container.html#replace(org.apache.click.Control, org.apache.click.Control)"><CODE>Container.replace(org.apache.click.Control, org.apache.click.Control)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="remove(org.apache.click.Control)"><!-- --></A><H3>
remove</H3>
<PRE>
public boolean <B>remove</B>(<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A>&nbsp;control)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/click/control/Container.html#remove(org.apache.click.Control)">Container</A></CODE></B></DD>
<DD>Remove the given control from the container, returning true if the
control was found in the container and removed, or false if the control
was not found.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/click/control/Container.html#remove(org.apache.click.Control)">remove</A></CODE> in interface <CODE><A HREF="../../../../org/apache/click/control/Container.html" title="interface in org.apache.click.control">Container</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/click/control/AbstractContainer.html#remove(org.apache.click.Control)">remove</A></CODE> in class <CODE><A HREF="../../../../org/apache/click/control/AbstractContainer.html" title="class in org.apache.click.control">AbstractContainer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>control</CODE> - the control to remove from the container
<DT><B>Returns:</B><DD>true if the control was removed from the container
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the control is null<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/control/Container.html#remove(org.apache.click.Control)"><CODE>Container.remove(org.apache.click.Control)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="removeField(java.lang.String)"><!-- --></A><H3>
removeField</H3>
<PRE>
public boolean <B>removeField</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
<DL>
<DD>Remove the named field from the form, returning true if removed
or false if not found.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the field to remove from the form
<DT><B>Returns:</B><DD>true if the named field was removed or false otherwise</DL>
</DD>
</DL>
<HR>
<A NAME="removeFields(java.util.List)"><!-- --></A><H3>
removeFields</H3>
<PRE>
public void <B>removeFields</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&gt;&nbsp;fieldNames)</PRE>
<DL>
<DD>Remove the list of named fields from the form.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>fieldNames</CODE> - the list of field names to remove from the form
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if any of the fields is null</DL>
</DD>
</DL>
<HR>
<A NAME="getTag()"><!-- --></A><H3>
getTag</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getTag</B>()</PRE>
<DL>
<DD>Return the form's html tag: <tt>form</tt>.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/click/control/AbstractControl.html#getTag()">getTag</A></CODE> in class <CODE><A HREF="../../../../org/apache/click/control/AbstractControl.html" title="class in org.apache.click.control">AbstractControl</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>this controls html tag<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/control/AbstractControl.html#getTag()"><CODE>AbstractControl.getTag()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getActionURL()"><!-- --></A><H3>
getActionURL</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getActionURL</B>()</PRE>
<DL>
<DD>Return the form "action" attribute URL value. If the action URL attribute
has not been explicitly set the form action attribute will target the
page containing the form. This is the default behaviour for most scenarios.
However if you explicitly specify the form "action" URL attribute, this
value will be used instead.
<p/>
Setting the form action attribute is useful for situations where you want
a form to submit to a different page. This can also be used to have a
form submit to the J2EE Container for authentication, by setting the
action URL to "<tt>j_security_check</tt>".
<p/>
The action URL will always be encoded by the response to ensure it includes
the Session ID if required.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the form "action" attribute URL value.</DL>
</DD>
</DL>
<HR>
<A NAME="setActionURL(java.lang.String)"><!-- --></A><H3>
setActionURL</H3>
<PRE>
public void <B>setActionURL</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;value)</PRE>
<DL>
<DD>Return the form "action" attribute URL value. By setting this value you
will override the default action URL which points to the page containing
the form.
<p/>
Setting the form action attribute is useful for situations where you want
a form to submit to a different page. This can also be used to have a
form submit to the J2EE Container for authentication, by setting the
action URL to "<tt>j_security_check</tt>".
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the form "action" attribute URL value</DL>
</DD>
</DL>
<HR>
<A NAME="getControlSizeEst()"><!-- --></A><H3>
getControlSizeEst</H3>
<PRE>
public int <B>getControlSizeEst</B>()</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/click/control/AbstractControl.html#getControlSizeEst()">AbstractControl</A></CODE></B></DD>
<DD>Return the estimated rendered control size in characters.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/click/control/AbstractContainer.html#getControlSizeEst()">getControlSizeEst</A></CODE> in class <CODE><A HREF="../../../../org/apache/click/control/AbstractContainer.html" title="class in org.apache.click.control">AbstractContainer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the estimated rendered control size in characters<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/control/AbstractControl.html#getControlSizeEst()"><CODE>AbstractControl.getControlSizeEst()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="isDisabled()"><!-- --></A><H3>
isDisabled</H3>
<PRE>
public boolean <B>isDisabled</B>()</PRE>
<DL>
<DD>Return true if the form is a disabled.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true if the form is a disabled</DL>
</DD>
</DL>
<HR>
<A NAME="setDisabled(boolean)"><!-- --></A><H3>
setDisabled</H3>
<PRE>
public void <B>setDisabled</B>(boolean&nbsp;disabled)</PRE>
<DL>
<DD>Set the form disabled flag.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>disabled</CODE> - the form disabled flag</DL>
</DD>
</DL>
<HR>
<A NAME="getEnctype()"><!-- --></A><H3>
getEnctype</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getEnctype</B>()</PRE>
<DL>
<DD>Return the form "enctype" attribute value, or null if not defined.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the form "enctype" attribute value, or null if not defined</DL>
</DD>
</DL>
<HR>
<A NAME="setEnctype(java.lang.String)"><!-- --></A><H3>
setEnctype</H3>
<PRE>
public void <B>setEnctype</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;enctype)</PRE>
<DL>
<DD>Set the form "enctype" attribute value.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>enctype</CODE> - the form "enctype" attribute value, or null if not defined</DL>
</DD>
</DL>
<HR>
<A NAME="getError()"><!-- --></A><H3>
getError</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getError</B>()</PRE>
<DL>
<DD>Return the form level error message.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the form level error message</DL>
</DD>
</DL>
<HR>
<A NAME="setError(java.lang.String)"><!-- --></A><H3>
setError</H3>
<PRE>
public void <B>setError</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;error)</PRE>
<DL>
<DD>Set the form level validation error message. If the error message is not
null the form is invalid.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>error</CODE> - the validation error message</DL>
</DD>
</DL>
<HR>
<A NAME="getErrorFields()"><!-- --></A><H3>
getErrorFields</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&gt; <B>getErrorFields</B>()</PRE>
<DL>
<DD>Return a list of form fields which are not valid, not hidden and not
disabled.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>list of form fields which are not valid, not hidden and not
disabled</DL>
</DD>
</DL>
<HR>
<A NAME="getField(java.lang.String)"><!-- --></A><H3>
getField</H3>
<PRE>
public <A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A> <B>getField</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
<DL>
<DD>Return the named field if contained in the form or null if not found.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the field
<DT><B>Returns:</B><DD>the named field if contained in the form
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html" title="class or interface in java.lang">IllegalStateException</A></CODE> - if a non-field control is found with the
specified name</DL>
</DD>
</DL>
<HR>
<A NAME="getFieldValue(java.lang.String)"><!-- --></A><H3>
getFieldValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getFieldValue</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
<DL>
<DD>Return the field value for the named field, or null if the field is not
found.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the field
<DT><B>Returns:</B><DD>the field value for the named field</DL>
</DD>
</DL>
<HR>
<A NAME="getHeadElements()"><!-- --></A><H3>
getHeadElements</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/element/Element.html" title="class in org.apache.click.element">Element</A>&gt; <B>getHeadElements</B>()</PRE>
<DL>
<DD>Return the Form HEAD elements to be included in the page.
The following resources are returned:
<ul>
<li><tt>click/control.css</tt></li>
<li><tt>click/control.js</tt></li>
</ul>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/click/Control.html#getHeadElements()">getHeadElements</A></CODE> in interface <CODE><A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/click/control/AbstractControl.html#getHeadElements()">getHeadElements</A></CODE> in class <CODE><A HREF="../../../../org/apache/click/control/AbstractControl.html" title="class in org.apache.click.control">AbstractControl</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the form list of HEAD elements to be included in the page<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/Control.html#getHeadElements()"><CODE>Control.getHeadElements()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getMethod()"><!-- --></A><H3>
getMethod</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getMethod</B>()</PRE>
<DL>
<DD>Return the form method <tt>["post" | "get"]</tt>, default value is
<tt>post</tt>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the form method</DL>
</DD>
</DL>
<HR>
<A NAME="setMethod(java.lang.String)"><!-- --></A><H3>
setMethod</H3>
<PRE>
public void <B>setMethod</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;value)</PRE>
<DL>
<DD>Set the form method <tt>["post" | "get"]</tt>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the form method</DL>
</DD>
</DL>
<HR>
<A NAME="isFormSubmission()"><!-- --></A><H3>
isFormSubmission</H3>
<PRE>
public boolean <B>isFormSubmission</B>()</PRE>
<DL>
<DD>Return true if the page request is a submission from this form.
<p/>
A form submission requires the following criteria:
<ul>
<li>the Form name must be present as a request parameter (Form
automatically adds a HiddenField which value is set to the Form name.
This ensures the Form name is present when submitting the form)</li>
<li>the request method must equal the Form <A HREF="../../../../org/apache/click/control/Form.html#method"><CODE>method</CODE></A>, for example
both must be <tt>GET</tt> or <tt>POST</tt></li>
</ul>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true if the page request is a submission from this form</DL>
</DD>
</DL>
<HR>
<A NAME="setName(java.lang.String)"><!-- --></A><H3>
setName</H3>
<PRE>
public void <B>setName</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
<DL>
<DD>Set the name of the form.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/click/Control.html#setName(java.lang.String)">setName</A></CODE> in interface <CODE><A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/click/control/AbstractControl.html#setName(java.lang.String)">setName</A></CODE> in class <CODE><A HREF="../../../../org/apache/click/control/AbstractControl.html" title="class in org.apache.click.control">AbstractControl</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - of the control
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the name is null<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/Control.html#setName(java.lang.String)"><CODE>Control.setName(String)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="isReadonly()"><!-- --></A><H3>
isReadonly</H3>
<PRE>
public boolean <B>isReadonly</B>()</PRE>
<DL>
<DD>Return true if the form is a readonly.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true if the form is a readonly</DL>
</DD>
</DL>
<HR>
<A NAME="setReadonly(boolean)"><!-- --></A><H3>
setReadonly</H3>
<PRE>
public void <B>setReadonly</B>(boolean&nbsp;readonly)</PRE>
<DL>
<DD>Set the form readonly flag.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>readonly</CODE> - the form readonly flag</DL>
</DD>
</DL>
<HR>
<A NAME="isValid()"><!-- --></A><H3>
isValid</H3>
<PRE>
public boolean <B>isValid</B>()</PRE>
<DL>
<DD>Return true if the fields are valid and there is no form level error,
otherwise return false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true if the fields are valid and there is no form level error</DL>
</DD>
</DL>
<HR>
<A NAME="getFieldList()"><!-- --></A><H3>
getFieldList</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&gt; <B>getFieldList</B>()</PRE>
<DL>
<DD>Return the ordered list of form fields, excluding buttons.
<p/>
The order of the fields is the same order they were added to the form.
<p/>
The returned list includes only fields added directly to the Form.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the ordered List of form fields, excluding buttons</DL>
</DD>
</DL>
<HR>
<A NAME="getFields()"><!-- --></A><H3>
getFields</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>,<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A>&gt; <B>getFields</B>()</PRE>
<DL>
<DD>Return the Map of form fields (including buttons), keyed
on field name.
<p/>
The returned map includes only fields added directly to the Form.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the Map of form fields (including buttons), keyed
on field name<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/control/AbstractContainer.html#getControlMap()"><CODE>AbstractContainer.getControlMap()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getValidate()"><!-- --></A><H3>
getValidate</H3>
<PRE>
public boolean <B>getValidate</B>()</PRE>
<DL>
<DD>Return true if the Form fields should validate themselves when being
processed.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true if the form fields should perform validation when being
processed</DL>
</DD>
</DL>
<HR>
<A NAME="setValidate(boolean)"><!-- --></A><H3>
setValidate</H3>
<PRE>
public void <B>setValidate</B>(boolean&nbsp;validate)</PRE>
<DL>
<DD>Set the Form field validation flag, telling the Fields to validate
themselves when their <tt>onProcess()</tt> method is invoked.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>validate</CODE> - the Form field validation flag</DL>
</DD>
</DL>
<HR>
<A NAME="getButtonAlign()"><!-- --></A><H3>
getButtonAlign</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getButtonAlign</B>()</PRE>
<DL>
<DD>Return the buttons &lt;td&gt; HTML horizontal alignment: "<tt>left</tt>",
"<tt>center</tt>", "<tt>right</tt>".
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the field label HTML horizontal alignment</DL>
</DD>
</DL>
<HR>
<A NAME="setButtonAlign(java.lang.String)"><!-- --></A><H3>
setButtonAlign</H3>
<PRE>
public void <B>setButtonAlign</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;align)</PRE>
<DL>
<DD>Set the button &lt;td&gt; HTML horizontal alignment: "<tt>left</tt>",
"<tt>center</tt>", "<tt>right</tt>".
Note the given align is not validated.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>align</CODE> - the field label HTML horizontal alignment</DL>
</DD>
</DL>
<HR>
<A NAME="getButtonList()"><!-- --></A><H3>
getButtonList</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Button.html" title="class in org.apache.click.control">Button</A>&gt; <B>getButtonList</B>()</PRE>
<DL>
<DD>Return the ordered list of <A HREF="../../../../org/apache/click/control/Button.html" title="class in org.apache.click.control"><CODE>Button</CODE></A>s.
<p/>
The order of the buttons is the same order they were added to the form.
<p/>
The returned list includes only buttons added directly to the Form.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the ordered list of <A HREF="../../../../org/apache/click/control/Button.html" title="class in org.apache.click.control"><CODE>Button</CODE></A>s.</DL>
</DD>
</DL>
<HR>
<A NAME="getButtonStyle()"><!-- --></A><H3>
getButtonStyle</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getButtonStyle</B>()</PRE>
<DL>
<DD>Return the button &lt;td&gt; "style" attribute value.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the button &lt;td&gt; "style" attribute value</DL>
</DD>
</DL>
<HR>
<A NAME="setButtonStyle(java.lang.String)"><!-- --></A><H3>
setButtonStyle</H3>
<PRE>
public void <B>setButtonStyle</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;value)</PRE>
<DL>
<DD>Set the button &lt;td&gt; "style" attribute value.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the button &lt;td&gt; "style" attribute value</DL>
</DD>
</DL>
<HR>
<A NAME="getColumns()"><!-- --></A><H3>
getColumns</H3>
<PRE>
public int <B>getColumns</B>()</PRE>
<DL>
<DD>Return the number of form layout table columns. This property is used to
layout the number of table columns the form is rendered with.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the number of form layout table columns</DL>
</DD>
</DL>
<HR>
<A NAME="setColumns(int)"><!-- --></A><H3>
setColumns</H3>
<PRE>
public void <B>setColumns</B>(int&nbsp;columns)</PRE>
<DL>
<DD>Set the number of form layout table columns. This property is used to
layout the number of table columns the form is rendered with.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>columns</CODE> - the number of form layout table columns</DL>
</DD>
</DL>
<HR>
<A NAME="getDefaultFieldSize()"><!-- --></A><H3>
getDefaultFieldSize</H3>
<PRE>
public int <B>getDefaultFieldSize</B>()</PRE>
<DL>
<DD>Return the form default field size. If the form default field size is
greater than 0, when fields are added to the form the field's size will
be set to the default value.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the form default field size</DL>
</DD>
</DL>
<HR>
<A NAME="setDefaultFieldSize(int)"><!-- --></A><H3>
setDefaultFieldSize</H3>
<PRE>
public void <B>setDefaultFieldSize</B>(int&nbsp;size)</PRE>
<DL>
<DD>Return the form default field size. If the form default field size is
greater than 0, when fields are added to the form the field's size will
be set to the default value.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>size</CODE> - the default field size</DL>
</DD>
</DL>
<HR>
<A NAME="getErrorsAlign()"><!-- --></A><H3>
getErrorsAlign</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getErrorsAlign</B>()</PRE>
<DL>
<DD>Return the errors block HTML horizontal alignment: "<tt>left</tt>",
"<tt>center</tt>", "<tt>right</tt>".
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the errors block HTML horizontal alignment</DL>
</DD>
</DL>
<HR>
<A NAME="setErrorsAlign(java.lang.String)"><!-- --></A><H3>
setErrorsAlign</H3>
<PRE>
public void <B>setErrorsAlign</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;align)</PRE>
<DL>
<DD>Set the errors block HTML horizontal alignment: "<tt>left</tt>",
"<tt>center</tt>", "<tt>right</tt>".
Note the given align is not validated.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>align</CODE> - the errors block HTML horizontal alignment</DL>
</DD>
</DL>
<HR>
<A NAME="getErrorsPosition()"><!-- --></A><H3>
getErrorsPosition</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getErrorsPosition</B>()</PRE>
<DL>
<DD>Return the form errors position <tt>["top", "middle", "bottom"]</tt>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>form errors position</DL>
</DD>
</DL>
<HR>
<A NAME="setErrorsPosition(java.lang.String)"><!-- --></A><H3>
setErrorsPosition</H3>
<PRE>
public void <B>setErrorsPosition</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;position)</PRE>
<DL>
<DD>Set the form errors position <tt>["top", "middle", "bottom"]</tt>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>position</CODE> - the form errors position</DL>
</DD>
</DL>
<HR>
<A NAME="getErrorsStyle()"><!-- --></A><H3>
getErrorsStyle</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getErrorsStyle</B>()</PRE>
<DL>
<DD>Return the error &lt;td&gt; "style" attribute value.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the error &lt;td&gt; "style" attribute value</DL>
</DD>
</DL>
<HR>
<A NAME="setErrorsStyle(java.lang.String)"><!-- --></A><H3>
setErrorsStyle</H3>
<PRE>
public void <B>setErrorsStyle</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;value)</PRE>
<DL>
<DD>Set the errors &lt;td&gt; "style" attribute value.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the errors &lt;td&gt; "style" attribute value</DL>
</DD>
</DL>
<HR>
<A NAME="getFieldStyle()"><!-- --></A><H3>
getFieldStyle</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getFieldStyle</B>()</PRE>
<DL>
<DD>Return the field &lt;td&gt; "style" attribute value.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the field &lt;td&gt; "style" attribute value</DL>
</DD>
</DL>
<HR>
<A NAME="setFieldStyle(java.lang.String)"><!-- --></A><H3>
setFieldStyle</H3>
<PRE>
public void <B>setFieldStyle</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;value)</PRE>
<DL>
<DD>Set the field &lt;td&gt; "style" attribute value. Fields can override
this value by providing a <A HREF="../../../../org/apache/click/control/Field.html#setParentStyleHint(java.lang.String)"><CODE>Field.setParentStyleHint(java.lang.String)</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the field &lt;td&gt; "style" attribute value<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/control/Field.html#setParentStyleHint(java.lang.String)"><CODE>Field.setParentStyleHint(java.lang.String)</CODE></A>,
<A HREF="../../../../org/apache/click/control/Field.html#setParentStyleClassHint(java.lang.String)"><CODE>Field.setParentStyleClassHint(java.lang.String)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getFieldWidths()"><!-- --></A><H3>
getFieldWidths</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>,<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Integer.html" title="class or interface in java.lang">Integer</A>&gt; <B>getFieldWidths</B>()</PRE>
<DL>
<DD>Return the map of field width values, keyed on field name.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the map of field width values, keyed on field name</DL>
</DD>
</DL>
<HR>
<A NAME="isJavaScriptValidation()"><!-- --></A><H3>
isJavaScriptValidation</H3>
<PRE>
public boolean <B>isJavaScriptValidation</B>()</PRE>
<DL>
<DD>Return true if JavaScript client side form validation is enabled.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true if JavaScript client side form validation is enabled</DL>
</DD>
</DL>
<HR>
<A NAME="getJavaScriptValidation()"><!-- --></A><H3>
getJavaScriptValidation</H3>
<PRE>
public boolean <B>getJavaScriptValidation</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>use <A HREF="../../../../org/apache/click/control/Form.html#isJavaScriptValidation()"><CODE>isJavaScriptValidation()</CODE></A> instead</I>
<P>
<DD>Return true if JavaScript client side form validation is enabled.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true if JavaScript client side form validation is enabled</DL>
</DD>
</DL>
<HR>
<A NAME="setJavaScriptValidation(boolean)"><!-- --></A><H3>
setJavaScriptValidation</H3>
<PRE>
public void <B>setJavaScriptValidation</B>(boolean&nbsp;validate)</PRE>
<DL>
<DD>Set the JavaScript client side form validation flag.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>validate</CODE> - the JavaScript client side validation flag</DL>
</DD>
</DL>
<HR>
<A NAME="getLabelAlign()"><!-- --></A><H3>
getLabelAlign</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getLabelAlign</B>()</PRE>
<DL>
<DD>Return the field label HTML horizontal alignment: "<tt>left</tt>",
"<tt>center</tt>", "<tt>right</tt>".
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the field label HTML horizontal alignment</DL>
</DD>
</DL>
<HR>
<A NAME="setLabelAlign(java.lang.String)"><!-- --></A><H3>
setLabelAlign</H3>
<PRE>
public void <B>setLabelAlign</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;align)</PRE>
<DL>
<DD>Set the field label HTML horizontal alignment: "<tt>left</tt>",
"<tt>center</tt>", "<tt>right</tt>".
Note the given align is not validated.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>align</CODE> - the field label HTML horizontal alignment</DL>
</DD>
</DL>
<HR>
<A NAME="getLabelsPosition()"><!-- --></A><H3>
getLabelsPosition</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getLabelsPosition</B>()</PRE>
<DL>
<DD>Return the form labels position <tt>["left", "top"]</tt>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>form labels position</DL>
</DD>
</DL>
<HR>
<A NAME="setLabelsPosition(java.lang.String)"><!-- --></A><H3>
setLabelsPosition</H3>
<PRE>
public void <B>setLabelsPosition</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;position)</PRE>
<DL>
<DD>Set the form labels position <tt>["left", "top"]</tt>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>position</CODE> - the form labels position</DL>
</DD>
</DL>
<HR>
<A NAME="getLabelStyle()"><!-- --></A><H3>
getLabelStyle</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getLabelStyle</B>()</PRE>
<DL>
<DD>Return the label &lt;td&gt; "style" attribute value.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the label &lt;td&gt; "style" attribute value</DL>
</DD>
</DL>
<HR>
<A NAME="setLabelStyle(java.lang.String)"><!-- --></A><H3>
setLabelStyle</H3>
<PRE>
public void <B>setLabelStyle</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;value)</PRE>
<DL>
<DD>Set the label &lt;td&gt; "style" attribute value.
<p/>
This value can be overridden by Fields through their
<A HREF="../../../../org/apache/click/control/Field.html#setParentStyleHint(java.lang.String)"><CODE>Field.setParentStyleHint(java.lang.String)</CODE></A> property.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the label &lt;td&gt; "style" attribute value</DL>
</DD>
</DL>
<HR>
<A NAME="setListener(java.lang.Object, java.lang.String)"><!-- --></A><H3>
setListener</H3>
<PRE>
public void <B>setListener</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;listener,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;method)</PRE>
<DL>
<DD>The callback listener will only be called during processing if the field
value is valid. If the field has validation errors the listener will not
be called.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/click/Control.html#setListener(java.lang.Object, java.lang.String)">setListener</A></CODE> in interface <CODE><A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/click/control/AbstractControl.html#setListener(java.lang.Object, java.lang.String)">setListener</A></CODE> in class <CODE><A HREF="../../../../org/apache/click/control/AbstractControl.html" title="class in org.apache.click.control">AbstractControl</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>listener</CODE> - the listener object with the named method to invoke<DD><CODE>method</CODE> - the name of the method to invoke<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/Control.html#setListener(java.lang.Object, java.lang.String)"><CODE>Control.setListener(Object, String)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="clearErrors()"><!-- --></A><H3>
clearErrors</H3>
<PRE>
public void <B>clearErrors</B>()</PRE>
<DL>
<DD>Clear any form or field errors by setting them to null.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="clearValues()"><!-- --></A><H3>
clearValues</H3>
<PRE>
public void <B>clearValues</B>()</PRE>
<DL>
<DD>Clear all the form field values setting them to null.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="copyFrom(java.lang.Object)"><!-- --></A><H3>
copyFrom</H3>
<PRE>
public void <B>copyFrom</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;object)</PRE>
<DL>
<DD>Copy the given object's attributes into the Form's field values. In
other words automatically populate Form's field values with the
given objects attributes.
<p/>
The following example populates the Form field with Customer
attributes:
<pre class="prettyprint">
public void onGet() {
Long customerId = ..
Customer customer = CustomerDAO.findByPK(customerId);
form.copyFrom(customer);
} </pre>
copyForm also supports <tt>java.util.Map</tt> as an argument.
<p/>
By specifying a map, the Form's field values will be populated by
matching key/value pairs. A match occurs when the map's key is equal to
a field's name.
<p/>
The following example populates the Form fields with a map's
key/value pairs:
<pre class="prettyprint">
public void onInit() {
form = new Form("form");
form.add(new TextField("name"));
form.add(new TextField("address.street"));
}
public void onGet() {
Map map = new HashMap();
map.put("name", "Steve");
map.put("address.street", "12 Long street");
form.copyFrom(map);
} </pre>
For more information on how Fields and Objects are copied see
<A HREF="../../../../org/apache/click/util/ContainerUtils.html#copyObjectToContainer(java.lang.Object, org.apache.click.control.Container)"><CODE>ContainerUtils.copyObjectToContainer(java.lang.Object, org.apache.click.control.Container)</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>object</CODE> - the object to obtain attribute values from
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the object parameter is null</DL>
</DD>
</DL>
<HR>
<A NAME="copyFrom(java.lang.Object, boolean)"><!-- --></A><H3>
copyFrom</H3>
<PRE>
public void <B>copyFrom</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;object,
boolean&nbsp;debug)</PRE>
<DL>
<DD>Copy the given object's attributes into the Form's field values. In other
words automatically populate Forms field values with the given objects
attributes. copyFrom also supports <tt>java.util.Map</tt> as an argument.
<p/>
If the debug parameter is true, debugging messages will be
logged.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>object</CODE> - the object to obtain attribute values from<DD><CODE>debug</CODE> - log debug statements when populating the form
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the object parameter is null<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/control/Form.html#copyFrom(java.lang.Object)"><CODE>copyFrom(java.lang.Object)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="copyTo(java.lang.Object)"><!-- --></A><H3>
copyTo</H3>
<PRE>
public void <B>copyTo</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;object)</PRE>
<DL>
<DD>Copy the Form's field values into the given object's attributes. In
other words automatically populate Object attributes with the Form's
field values.
<p/>
The following example populates the Customer attributes with the
Form's field values:
<pre class="prettyprint">
public void onPost() {
if (form.isValid()) {
Customer customer = new Customer();
form.copyTo(customer);
..
}
return true;
} </pre>
copyTo also supports <tt>java.util.Map</tt> as an argument.
<p/>
By specifying a map, the map's key/value pairs are populated from
matching Form field names. A match occurs when a field's name is
equal to a map's key.
<p/>
The following example populates the map with the Form field values:
<pre class="prettyprint">
public void onInit() {
form = new Form("form");
form.add(new TextField("name"));
form.add(new TextField("address.street"));
}
public void onGet() {
Map map = new HashMap();
map.put("name", null);
map.put("address.street", null);
form.copyTo(map);
} </pre>
Note that the map acts as a template to specify which fields to populate
from.
For more information on how Fields and Objects are copied see
<A HREF="../../../../org/apache/click/util/ContainerUtils.html#copyContainerToObject(org.apache.click.control.Container, java.lang.Object)"><CODE>ContainerUtils.copyContainerToObject(org.apache.click.control.Container, java.lang.Object)</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>object</CODE> - the object to populate with field values
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the object parameter is null</DL>
</DD>
</DL>
<HR>
<A NAME="copyTo(java.lang.Object, boolean)"><!-- --></A><H3>
copyTo</H3>
<PRE>
public void <B>copyTo</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;object,
boolean&nbsp;debug)</PRE>
<DL>
<DD>Copy the Form's field values into the given object's attributes. In other
words automatically populate Object attributes with the Forms field
values. copyTo also supports <tt>java.util.Map</tt> as an argument.
<p/>
If the debug parameter is true, debugging messages will be
logged.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>object</CODE> - the object to populate with field values<DD><CODE>debug</CODE> - log debug statements when populating the object
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the object parameter is null<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/control/Form.html#copyTo(java.lang.Object)"><CODE>copyTo(java.lang.Object)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getState()"><!-- --></A><H3>
getState</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getState</B>()</PRE>
<DL>
<DD>Return the form state. The following state is returned:
<ul>
<li>all the input Field values and FieldSets contained in the Form and
child containers.</li>
</ul>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/click/Stateful.html#getState()">getState</A></CODE> in interface <CODE><A HREF="../../../../org/apache/click/Stateful.html" title="interface in org.apache.click">Stateful</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the state of input Fields and FieldSets contained in the form</DL>
</DD>
</DL>
<HR>
<A NAME="setState(java.lang.Object)"><!-- --></A><H3>
setState</H3>
<PRE>
public void <B>setState</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;state)</PRE>
<DL>
<DD>Set the Form state. The state will be applied to all the input Fields
and FieldSets contained in the Form or child containers.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/click/Stateful.html#setState(java.lang.Object)">setState</A></CODE> in interface <CODE><A HREF="../../../../org/apache/click/Stateful.html" title="interface in org.apache.click">Stateful</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>state</CODE> - the Form state to set</DL>
</DD>
</DL>
<HR>
<A NAME="onProcess()"><!-- --></A><H3>
onProcess</H3>
<PRE>
public boolean <B>onProcess</B>()</PRE>
<DL>
<DD>Process the Form and its child controls only if the Form was submitted
by the user.
<p/>
This method invokes <A HREF="../../../../org/apache/click/control/Form.html#isFormSubmission()"><CODE>isFormSubmission()</CODE></A> to check whether the form
was submitted or not.
<p/>
The Forms processing order is:
<ol>
<li>All <A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control"><CODE>Field</CODE></A> controls in the order they were added</li>
<li>All <A HREF="../../../../org/apache/click/control/Button.html" title="class in org.apache.click.control"><CODE>Button</CODE></A> controls in the order they were added</li>
<li>Invoke the Forms listener if defined</li>
</ol>
This method delegates validation to <A HREF="../../../../org/apache/click/control/Form.html#validate()"><CODE>validate()</CODE></A> while
file upload validation are delegated to <A HREF="../../../../org/apache/click/control/Form.html#validateFileUpload()"><CODE>validateFileUpload()</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/click/Control.html#onProcess()">onProcess</A></CODE> in interface <CODE><A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/click/control/AbstractContainer.html#onProcess()">onProcess</A></CODE> in class <CODE><A HREF="../../../../org/apache/click/control/AbstractContainer.html" title="class in org.apache.click.control">AbstractContainer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true to continue Page event processing or false otherwise<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/Context.html#getRequestParameter(java.lang.String)"><CODE>Context.getRequestParameter(String)</CODE></A>,
<A HREF="../../../../org/apache/click/Context.html#getFileItemMap()"><CODE>Context.getFileItemMap()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="onDestroy()"><!-- --></A><H3>
onDestroy</H3>
<PRE>
public void <B>onDestroy</B>()</PRE>
<DL>
<DD>Destroy the controls contained in the Form and clear any form
error message.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/click/Control.html#onDestroy()">onDestroy</A></CODE> in interface <CODE><A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/click/control/AbstractContainer.html#onDestroy()">onDestroy</A></CODE> in class <CODE><A HREF="../../../../org/apache/click/control/AbstractContainer.html" title="class in org.apache.click.control">AbstractContainer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/Control.html#onDestroy()"><CODE>Control.onDestroy()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="validate()"><!-- --></A><H3>
validate</H3>
<PRE>
public void <B>validate</B>()</PRE>
<DL>
<DD>The validate method is invoked by <A HREF="../../../../org/apache/click/control/Form.html#onProcess()"><CODE>onProcess()</CODE></A> to validate
the request submission. A Form subclass can override this method
to implement cross-field validation logic.
<p/>
If the Form determines that the submission is invalid it should set the
<A HREF="../../../../org/apache/click/control/Form.html#error"><CODE>error</CODE></A> property with an appropriate error message. For example:
<pre class="prettyprint">
public class RegistrationForm extends Form {
// Add validation to ensure the password and confirmPassword fields match
public void validate() {
String password = getFieldValue("password");
String confirmPassword = getFieldValue("confirmPassword");
if (!password.equals(confirmPassword)) {
// Set Form's error property value that will be shown to the user
setError("The passwords do not match.");
}
}
} </pre>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="onSubmitCheck(org.apache.click.Page, java.lang.String)"><!-- --></A><H3>
onSubmitCheck</H3>
<PRE>
public boolean <B>onSubmitCheck</B>(<A HREF="../../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;redirectPath)</PRE>
<DL>
<DD>Perform a form submission check ensuring the user has not replayed the
form submission by using the browser's back or refresh buttons or by
clicking the Form submit button twice, in quick succession. If the form
submit is valid this method will return true, otherwise set the page to
redirect to the given redirectPath and return false.
<p/>
This method will add a token to the user's session and a hidden field
to the form to validate future submits.
<p/>
Form submit checks should be performed before the pages controls are
processed in the Page onSecurityCheck method. For example:
<pre class="prettyprint">
public class Order extends Page {
..
public boolean onSecurityCheck() {
return form.onSubmitCheck(this, "/invalid-submit.html");
}
} </pre>
Form submit checks should generally be combined with the Post-Redirect
pattern which provides a better user experience when pages are refreshed.
<p/>
<b>Please note:</b> a call to onSubmitCheck always succeeds for Ajax
requests.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the page invoking the Form submit check<DD><CODE>redirectPath</CODE> - the path to redirect invalid submissions to
<DT><B>Returns:</B><DD>true if the form submit is OK or false otherwise
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the page or redirectPath is null</DL>
</DD>
</DL>
<HR>
<A NAME="onSubmitCheck(org.apache.click.Page, java.lang.Class)"><!-- --></A><H3>
onSubmitCheck</H3>
<PRE>
public boolean <B>onSubmitCheck</B>(<A HREF="../../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;? extends <A HREF="../../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&gt;&nbsp;pageClass)</PRE>
<DL>
<DD>Perform a form submission check ensuring the user has not replayed the
form submission by using the browser back button. If the form submit
is valid this method will return true, otherwise set the page to
redirect to the given Page class and return false.
<p/>
This method will add a token to the user's session and a hidden field
to the form to validate future submits.
<p/>
Form submit checks should be performed before the pages controls are
processed in the Page onSecurityCheck method. For example:
<pre class="prettyprint">
public class Order extends Page {
..
public boolean onSecurityCheck() {
return form.onSubmitCheck(this, InvalidSubmitPage.class);
}
} </pre>
Form submit checks should generally be combined with the Post-Redirect
pattern which provides a better user experience when pages are refreshed.
<p/>
<b>Please note:</b> a call to onSubmitCheck always succeeds for Ajax
requests.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the page invoking the Form submit check<DD><CODE>pageClass</CODE> - the page class to redirect invalid submissions to
<DT><B>Returns:</B><DD>true if the form submit is OK or false otherwise
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the page or pageClass is null</DL>
</DD>
</DL>
<HR>
<A NAME="onSubmitCheck(org.apache.click.Page, java.lang.Object, java.lang.String)"><!-- --></A><H3>
onSubmitCheck</H3>
<PRE>
public boolean <B>onSubmitCheck</B>(<A HREF="../../../../org/apache/click/Page.html" title="class in org.apache.click">Page</A>&nbsp;page,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;submitListener,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;submitListenerMethod)</PRE>
<DL>
<DD>Perform a form submission check ensuring the user has not replayed the
form submission by using the browser back button. If the form submit
is valid this method will return true, otherwise the given listener
object and method will be invoked.
<p/>
This method will add a token to the users session and a hidden field
to the form to validate future submit's.
<p/>
Form submit checks should be performed before the pages controls are
processed in the Page onSecurityCheck method. For example:
<pre class="prettyprint">
public class Order extends Page {
..
public boolean onSecurityCheck() {
return form.onSubmitCheck(his, this, "onInvalidSubmit");
}
public boolean onInvalidSubmit() {
getContext().setRequestAttribute("invalidPath", getPath());
setForward("invalid-submit.htm");
return false;
}
} </pre>
Form submit checks should generally be combined with the Post-Redirect
pattern which provides a better user experience when pages are refreshed.
<p/>
<b>Please note:</b> a call to onSubmitCheck always succeeds for Ajax
requests.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>page</CODE> - the page invoking the Form submit check<DD><CODE>submitListener</CODE> - the listener object to call when an invalid submit
occurs<DD><CODE>submitListenerMethod</CODE> - the listener method to invoke when an
invalid submit occurs
<DT><B>Returns:</B><DD>true if the form submit is valid, or the return value of the
listener method otherwise
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if the page, submitListener or
submitListenerMethod is null</DL>
</DD>
</DL>
<HR>
<A NAME="removeState(org.apache.click.Context)"><!-- --></A><H3>
removeState</H3>
<PRE>
public void <B>removeState</B>(<A HREF="../../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</PRE>
<DL>
<DD>Remove the Form state from the session for the given request context.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>context</CODE> - the request context<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/control/Form.html#saveState(org.apache.click.Context)"><CODE>saveState(org.apache.click.Context)</CODE></A>,
<A HREF="../../../../org/apache/click/control/Form.html#restoreState(org.apache.click.Context)"><CODE>restoreState(org.apache.click.Context)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="restoreState(org.apache.click.Context)"><!-- --></A><H3>
restoreState</H3>
<PRE>
public void <B>restoreState</B>(<A HREF="../../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</PRE>
<DL>
<DD>Restore the Form state from the session for the given request context.
<p/>
This method delegates to <A HREF="../../../../org/apache/click/control/Form.html#setState(java.lang.Object)"><CODE>setState(java.lang.Object)</CODE></A> to set the
form restored state.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>context</CODE> - the request context<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/control/Form.html#saveState(org.apache.click.Context)"><CODE>saveState(org.apache.click.Context)</CODE></A>,
<A HREF="../../../../org/apache/click/control/Form.html#removeState(org.apache.click.Context)"><CODE>removeState(org.apache.click.Context)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="saveState(org.apache.click.Context)"><!-- --></A><H3>
saveState</H3>
<PRE>
public void <B>saveState</B>(<A HREF="../../../../org/apache/click/Context.html" title="class in org.apache.click">Context</A>&nbsp;context)</PRE>
<DL>
<DD>Save the Form state to the session for the given request context.
<p/>
* This method delegates to <A HREF="../../../../org/apache/click/control/Form.html#getState()"><CODE>getState()</CODE></A> to retrieve the form state
to save.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>context</CODE> - the request context<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/control/Form.html#restoreState(org.apache.click.Context)"><CODE>restoreState(org.apache.click.Context)</CODE></A>,
<A HREF="../../../../org/apache/click/control/Form.html#removeState(org.apache.click.Context)"><CODE>removeState(org.apache.click.Context)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="startTag()"><!-- --></A><H3>
startTag</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>startTag</B>()</PRE>
<DL>
<DD>Return the rendered opening form tag and all the forms hidden fields.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the rendered form start tag and the forms hidden fields</DL>
</DD>
</DL>
<HR>
<A NAME="endTag()"><!-- --></A><H3>
endTag</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>endTag</B>()</PRE>
<DL>
<DD>Return the rendered form end tag and JavaScript for field focus
and validation.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the rendered form end tag</DL>
</DD>
</DL>
<HR>
<A NAME="render(org.apache.click.util.HtmlStringBuffer)"><!-- --></A><H3>
render</H3>
<PRE>
public void <B>render</B>(<A HREF="../../../../org/apache/click/util/HtmlStringBuffer.html" title="class in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer)</PRE>
<DL>
<DD>Render the HTML representation of the Form.
<p/>
If the form contains errors after processing, these errors will be
rendered.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/click/Control.html#render(org.apache.click.util.HtmlStringBuffer)">render</A></CODE> in interface <CODE><A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/click/control/AbstractContainer.html#render(org.apache.click.util.HtmlStringBuffer)">render</A></CODE> in class <CODE><A HREF="../../../../org/apache/click/control/AbstractContainer.html" title="class in org.apache.click.control">AbstractContainer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - the specified buffer to render the control's output to<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/click/control/AbstractContainer.html#toString()"><CODE>AbstractContainer.toString()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="performSubmitCheck()"><!-- --></A><H3>
performSubmitCheck</H3>
<PRE>
protected boolean <B>performSubmitCheck</B>()</PRE>
<DL>
<DD>Perform a back button submit check, returning true if the request is
valid or false otherwise. This method will add a submit check token
to the form as a hidden field, and to the session.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true if the submit is OK or false otherwise</DL>
</DD>
</DL>
<HR>
<A NAME="getFormSizeEst(java.util.List)"><!-- --></A><H3>
getFormSizeEst</H3>
<PRE>
protected int <B>getFormSizeEst</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&gt;&nbsp;formFields)</PRE>
<DL>
<DD>Return the estimated rendered form size in characters.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>formFields</CODE> - the list of form fields
<DT><B>Returns:</B><DD>the estimated rendered form size in characters</DL>
</DD>
</DL>
<HR>
<A NAME="renderHeader(org.apache.click.util.HtmlStringBuffer, java.util.List)"><!-- --></A><H3>
renderHeader</H3>
<PRE>
protected void <B>renderHeader</B>(<A HREF="../../../../org/apache/click/util/HtmlStringBuffer.html" title="class in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&gt;&nbsp;formFields)</PRE>
<DL>
<DD>Render the given form start tag and the form hidden fields to the given
buffer.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - the HTML string buffer to render to<DD><CODE>formFields</CODE> - the list of form fields</DL>
</DD>
</DL>
<HR>
<A NAME="renderFields(org.apache.click.util.HtmlStringBuffer)"><!-- --></A><H3>
renderFields</H3>
<PRE>
protected void <B>renderFields</B>(<A HREF="../../../../org/apache/click/util/HtmlStringBuffer.html" title="class in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer)</PRE>
<DL>
<DD>Render the non hidden Form Fields to the string buffer.
<p/>
This method delegates the rendering of the form fields to
<A HREF="../../../../org/apache/click/control/Form.html#renderControls(org.apache.click.util.HtmlStringBuffer, org.apache.click.control.Container, java.util.List, java.util.Map, int)"><CODE>renderControls(HtmlStringBuffer, Container, List, Map, int)</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - the StringBuffer to render to</DL>
</DD>
</DL>
<HR>
<A NAME="renderControls(org.apache.click.util.HtmlStringBuffer, org.apache.click.control.Container, java.util.List, java.util.Map, int)"><!-- --></A><H3>
renderControls</H3>
<PRE>
protected void <B>renderControls</B>(<A HREF="../../../../org/apache/click/util/HtmlStringBuffer.html" title="class in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer,
<A HREF="../../../../org/apache/click/control/Container.html" title="interface in org.apache.click.control">Container</A>&nbsp;container,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/Control.html" title="interface in org.apache.click">Control</A>&gt;&nbsp;controls,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>,<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Integer.html" title="class or interface in java.lang">Integer</A>&gt;&nbsp;fieldWidths,
int&nbsp;columns)</PRE>
<DL>
<DD>Render the specified controls of the container to the string buffer.
<p/>
fieldWidths is a map specifying the width for specific fields contained
in the list of controls. The fieldWidths map is keyed on field name.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - the StringBuffer to render to<DD><CODE>container</CODE> - the container which controls to render<DD><CODE>controls</CODE> - the controls to render<DD><CODE>fieldWidths</CODE> - a map of field widths keyed on field name<DD><CODE>columns</CODE> - the number of form layout table columns</DL>
</DD>
</DL>
<HR>
<A NAME="renderErrors(org.apache.click.util.HtmlStringBuffer, boolean)"><!-- --></A><H3>
renderErrors</H3>
<PRE>
protected void <B>renderErrors</B>(<A HREF="../../../../org/apache/click/util/HtmlStringBuffer.html" title="class in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer,
boolean&nbsp;processed)</PRE>
<DL>
<DD>Render the form errors to the given buffer is form processed.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - the string buffer to render the errors to<DD><CODE>processed</CODE> - the flag indicating whether has been processed</DL>
</DD>
</DL>
<HR>
<A NAME="renderButtons(org.apache.click.util.HtmlStringBuffer)"><!-- --></A><H3>
renderButtons</H3>
<PRE>
protected void <B>renderButtons</B>(<A HREF="../../../../org/apache/click/util/HtmlStringBuffer.html" title="class in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer)</PRE>
<DL>
<DD>Render the given list of Buttons to the string buffer.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - the StringBuffer to render to</DL>
</DD>
</DL>
<HR>
<A NAME="renderTagEnd(java.util.List, org.apache.click.util.HtmlStringBuffer)"><!-- --></A><H3>
renderTagEnd</H3>
<PRE>
protected void <B>renderTagEnd</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&gt;&nbsp;formFields,
<A HREF="../../../../org/apache/click/util/HtmlStringBuffer.html" title="class in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer)</PRE>
<DL>
<DD>Close the form tag and render any additional content after the Form.
<p/>
Additional content includes <tt>javascript validation</tt> and
<tt>javascript focus</tt> scripts.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>formFields</CODE> - all fields contained within the form<DD><CODE>buffer</CODE> - the buffer to render to</DL>
</DD>
</DL>
<HR>
<A NAME="renderFocusJavaScript(org.apache.click.util.HtmlStringBuffer, java.util.List)"><!-- --></A><H3>
renderFocusJavaScript</H3>
<PRE>
protected void <B>renderFocusJavaScript</B>(<A HREF="../../../../org/apache/click/util/HtmlStringBuffer.html" title="class in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&gt;&nbsp;formFields)</PRE>
<DL>
<DD>Render the Form field focus JavaScript to the string buffer.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - the StringBuffer to render to<DD><CODE>formFields</CODE> - the list of form fields</DL>
</DD>
</DL>
<HR>
<A NAME="renderValidationJavaScript(org.apache.click.util.HtmlStringBuffer, java.util.List)"><!-- --></A><H3>
renderValidationJavaScript</H3>
<PRE>
protected void <B>renderValidationJavaScript</B>(<A HREF="../../../../org/apache/click/util/HtmlStringBuffer.html" title="class in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/click/control/Field.html" title="class in org.apache.click.control">Field</A>&gt;&nbsp;formFields)</PRE>
<DL>
<DD>Render the Form validation JavaScript to the string buffer.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - the StringBuffer to render to<DD><CODE>formFields</CODE> - the list of form fields</DL>
</DD>
</DL>
<HR>
<A NAME="hasPostError()"><!-- --></A><H3>
hasPostError</H3>
<PRE>
protected boolean <B>hasPostError</B>()</PRE>
<DL>
<DD>Returns true if a POST error occurred, false otherwise.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true if a POST error occurred, false otherwise</DL>
</DD>
</DL>
<HR>
<A NAME="validateFileUpload()"><!-- --></A><H3>
validateFileUpload</H3>
<PRE>
protected void <B>validateFileUpload</B>()</PRE>
<DL>
<DD>Validate the request for any file upload (multipart) errors.
<p/>
A form error message is displayed if a file upload error occurs.
These messages are defined in the resource bundle:
<blockquote>
<ul>
<li>/click-control.properties
<ul>
<li>file-size-limit-exceeded-error</li>
<li>post-size-limit-exceeded-error</li>
</ul>
</li>
</ul>
</blockquote>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/click/control/FileField.html" title="class in org.apache.click.control"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/click/control/HiddenField.html" title="class in org.apache.click.control"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/click/control/Form.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Form.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
<style type='text/css'>.str{color:#2A00FF;}.kwd{color:#7F0055;font-weight:bold;}.com{color:#3F7F5F;}.typ{color:#000;}.lit{color:#066;}.pun{color:#660;}.pln{color:#000;}.tag{color:#000099;font-weight:bold;}.atn{color:#009900;}.atv{color:#000;}.dec{color:#606;}pre.prettyprint{padding:1em;border:1px solid #888;overflow:auto;}@media print{.str{color:#2A00FF;}.kwd{color:#7F0055;font-weight:bold;}.com{color:#3F7F5F;font-style:italic;}.typ{color:#000;font-weight:bold;}.lit{color:#044;}.pun{color:#440;}.pln{color:#000;}.tag{color:#000099;font-weight:bold;}.atn{color:#009900;}.atv{color:#000;}}</style><script type='text/javascript'>var PR_keywords={};(function(){var CPP_KEYWORDS='abstract bool break case catch char class const '+'const_cast continue default delete deprecated dllexport dllimport do '+'double dynamic_cast else enum explicit extern false float for friend '+'goto if inline int long mutable naked namespace new noinline noreturn '+'nothrow novtable operator private property protected public register '+'reinterpret_cast return selectany short signed sizeof static '+'static_cast struct switch template this thread throw true try typedef '+'typeid typename union unsigned using declaration, directive uuid '+'virtual void volatile while typeof';var CSHARP_KEYWORDS='as base by byte checked decimal delegate descending '+'event finally fixed foreach from group implicit in interface internal '+'into is lock null object override orderby params readonly ref sbyte '+'sealed stackalloc string select uint ulong unchecked unsafe ushort var';var JAVA_KEYWORDS='package synchronized boolean implements import throws '+'instanceof transient extends final strictfp native super';var JSCRIPT_KEYWORDS='debugger export function with NaN Infinity';var PERL_KEYWORDS='require sub unless until use elsif BEGIN END';var PYTHON_KEYWORDS='and assert def del elif except exec global lambda '+'not or pass print raise yield False True None';var RUBY_KEYWORDS='then end begin rescue ensure module when undef next '+'redo retry alias defined';var SH_KEYWORDS='done fi';var KEYWORDS=[CPP_KEYWORDS,CSHARP_KEYWORDS,JAVA_KEYWORDS,JSCRIPT_KEYWORDS,PERL_KEYWORDS,PYTHON_KEYWORDS,RUBY_KEYWORDS,SH_KEYWORDS];for(var k=0;k<KEYWORDS.length;k++){var kw=KEYWORDS[k].split(' ');for(var i=0;i<kw.length;i++){if(kw[i]){PR_keywords[kw[i]]=true;}}}}).call(this);var PR_STRING='str';var PR_KEYWORD='kwd';var PR_COMMENT='com';var PR_TYPE='typ';var PR_LITERAL='lit';var PR_PUNCTUATION='pun';var PR_PLAIN='pln';var PR_TAG='tag';var PR_DECLARATION='dec';var PR_SOURCE='src';var PR_ATTRIB_NAME='atn';var PR_ATTRIB_VALUE='atv';var PR_TAB_WIDTH=8;function PR_isWordChar(ch){return(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z');}function PR_spliceArrayInto(inserted,container,containerPosition,countReplaced){inserted.unshift(containerPosition,countReplaced||0);try{container.splice.apply(container,inserted);}finally{inserted.splice(0,2);}}var REGEXP_PRECEDER_PATTERN=(function(){var preceders=['!','!=','!==','#','%','%=','&','&&','&&=','&=','(','*','*=','+=',',','-=','->','/','/=',':','::',';','<','<<','<<=','<=','=','==','===','>','>=','>>','>>=','>>>','>>>=','?','@','[','^','^=','^^','^^=','{','|','|=','||','||=','~','break','case','continue','delete','do','else','finally','instanceof','return','throw','try','typeof'];var pattern='(?:'+'(?:(?:^|[^0-9\.])\\.{1,3})|'+'(?:(?:^|[^\\+])\\+)|'+'(?:(?:^|[^\\-])-)';for(var i=0;i<preceders.length;++i){var preceder=preceders[i];if(PR_isWordChar(preceder.charAt(0))){pattern+='|\\b'+preceder;}else{pattern+='|'+preceder.replace(/([^=<>:&])/g,'\\$1');}}pattern+='|^)\\s*$';return new RegExp(pattern);})();var pr_amp=/&/g;var pr_lt=/</g;var pr_gt=/>/g;var pr_quot=/"/g;function PR_attribToHtml(str){return str.replace(pr_amp,'&amp;').replace(pr_lt,'&lt;').replace(pr_gt,'&gt;').replace(pr_quot,'&quot;');}function PR_textToHtml(str){return str.replace(pr_amp,'&amp;').replace(pr_lt,'&lt;').replace(pr_gt,'&gt;');}var pr_ltEnt=/&lt;/g;var pr_gtEnt=/&gt;/g;var pr_aposEnt=/&apos;/g;var pr_quotEnt=/&quot;/g;var pr_ampEnt=/&amp;/g;function PR_htmlToText(html){var pos=html.indexOf('&');if(pos<0){return html;}for(--pos;(pos=html.indexOf('&#',pos+1))>=0;){var end=html.indexOf(';',pos);if(end>=0){var num=html.substring(pos+3,end);var radix=10;if(num&&num.charAt(0)=='x'){num=num.substring(1);radix=16;}var codePoint=parseInt(num,radix);if(!isNaN(codePoint)){html=(html.substring(0,pos)+String.fromCharCode(codePoint)+html.substring(end+1));}}}return html.replace(pr_ltEnt,'<').replace(pr_gtEnt,'>').replace(pr_aposEnt,"'").replace(pr_quotEnt,'"').replace(pr_ampEnt,'&');}function PR_isRawContent(node){return'XMP'==node.tagName;}var PR_innerHtmlWorks=null;function PR_getInnerHtml(node){if(null===PR_innerHtmlWorks){var testNode=document.createElement('PRE');testNode.appendChild(document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));PR_innerHtmlWorks=!/</.test(testNode.innerHTML);}if(PR_innerHtmlWorks){var content=node.innerHTML;if(PR_isRawContent(node)){content=PR_textToHtml(content);}return content;}var out=[];for(var child=node.firstChild;child;child=child.nextSibling){PR_normalizedHtml(child,out);}return out.join('');}function PR_normalizedHtml(node,out){switch(node.nodeType){case 1:var name=node.tagName.toLowerCase();out.push('\074',name);for(var i=0;i<node.attributes.length;++i){var attr=node.attributes[i];if(!attr.specified){continue;}out.push(' ');PR_normalizedHtml(attr,out);}out.push('>');for(var child=node.firstChild;child;child=child.nextSibling){PR_normalizedHtml(child,out);}if(node.firstChild||!/^(?:br|link|img)$/.test(name)){out.push('<\/',name,'>');}break;case 2:out.push(node.name.toLowerCase(),'="',PR_attribToHtml(node.value),'"');break;case 3:case 4:out.push(PR_textToHtml(node.nodeValue));break;}}function PR_tabExpander(tabWidth){var SPACES=' ';var charInLine=0;return function(plainText){var out=null;var pos=0;for(var i=0,n=plainText.length;i<n;++i){var ch=plainText.charAt(i);switch(ch){case'\t':if(!out){out=[];}out.push(plainText.substring(pos,i));var nSpaces=tabWidth-(charInLine%tabWidth);charInLine+=nSpaces;for(;nSpaces>=0;nSpaces-=SPACES.length){out.push(SPACES.substring(0,nSpaces));}pos=i+1;break;case'\n':charInLine=0;break;default:++charInLine;}}if(!out){return plainText;}out.push(plainText.substring(pos));return out.join('');};}var pr_chunkPattern=/(?:[^<]+|<!--[\s\S]*?-->|<!\[CDATA\[([\s\S]*?)\]\]>|<\/?[a-zA-Z][^>]*>|<)/g;var pr_commentPrefix=/^<!--/;var pr_cdataPrefix=/^<\[CDATA\[/;var pr_brPrefix=/^<br\b/i;function PR_extractTags(s){var matches=s.match(pr_chunkPattern);var sourceBuf=[];var sourceBufLen=0;var extractedTags=[];if(matches){for(var i=0,n=matches.length;i<n;++i){var match=matches[i];if(match.length>1&&match.charAt(0)==='<'){if(pr_commentPrefix.test(match)){continue;}if(pr_cdataPrefix.test(match)){sourceBuf.push(match.substring(9,match.length-3));sourceBufLen+=match.length-12;}else if(pr_brPrefix.test(match)){sourceBuf.push('\n');sourceBufLen+=1;}else{extractedTags.push(sourceBufLen,match);}}else{var literalText=PR_htmlToText(match);sourceBuf.push(literalText);sourceBufLen+=literalText.length;}}}return{source:sourceBuf.join(''),tags:extractedTags};}function PR_createSimpleLexer(shortcutStylePatterns,fallthroughStylePatterns){var shortcuts={};(function(){var allPatterns=shortcutStylePatterns.concat(fallthroughStylePatterns);for(var i=allPatterns.length;--i>=0;){var patternParts=allPatterns[i];var shortcutChars=patternParts[3];if(shortcutChars){for(var c=shortcutChars.length;--c>=0;){shortcuts[shortcutChars.charAt(c)]=patternParts;}}}})();var nPatterns=fallthroughStylePatterns.length;return function(sourceCode,opt_basePos){opt_basePos=opt_basePos||0;var decorations=[opt_basePos,PR_PLAIN];var lastToken='';var pos=0;var tail=sourceCode;while(tail.length){var style;var token=null;var patternParts=shortcuts[tail.charAt(0)];if(patternParts){var match=tail.match(patternParts[1]);token=match[0];style=patternParts[0];}else{for(var i=0;i<nPatterns;++i){patternParts=fallthroughStylePatterns[i];var contextPattern=patternParts[2];if(contextPattern&&!contextPattern.test(lastToken)){continue;}var match=tail.match(patternParts[1]);if(match){token=match[0];style=patternParts[0];break;}}if(!token){style=PR_PLAIN;token=tail.substring(0,1);}}decorations.push(opt_basePos+pos,style);pos+=token.length;tail=tail.substring(token.length);if(style!==PR_COMMENT&&/\S/.test(token)){lastToken=token;}}return decorations;};}var PR_C_STYLE_STRING_AND_COMMENT_LEXER=PR_createSimpleLexer([[PR_STRING,/^\'(?:[^\\\']|\\[\s\S])*(?:\'|$)/,null,"'"],[PR_STRING,/^"(?:[^\\"]|\\[\s\S])*(?:"|$)/,null,'"'],[PR_STRING,/^\`(?:[^\\\`]|\\[\s\S])*(?:\`|$)/,null,'`']],[[PR_PLAIN,/^(?:[^\'"\`\/\#]+)/,null,' \r\n'],[PR_COMMENT,/^#[^\r\n]*/,null,'#'],[PR_COMMENT,/^\/\/[^\r\n]*/,null],[PR_STRING,/^\/(?:[^\\\*\/]|\\[\s\S])+(?:\/|$)/,REGEXP_PRECEDER_PATTERN],[PR_COMMENT,/^\/\*[\s\S]*?(?:\*\/|$)/,null]]);function PR_splitStringAndCommentTokens(sourceCode){return PR_C_STYLE_STRING_AND_COMMENT_LEXER(sourceCode);}var PR_C_STYLE_LITERAL_IDENTIFIER_PUNC_RECOGNIZER=PR_createSimpleLexer([],[[PR_PLAIN,/^\s+/,null,' \r\n'],[PR_PLAIN,/^[a-z_$@][a-z_$@0-9]*/i,null],[PR_LITERAL,/^0x[a-f0-9]+[a-z]/i,null],[PR_LITERAL,/^(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?[a-z]*/i,null,'123456789'],[PR_PUNCTUATION,/^[^\s\w\.$@]+/,null]]);function PR_splitNonStringNonCommentTokens(source,decorations){for(var i=0;i<decorations.length;i+=2){var style=decorations[i+1];if(style===PR_PLAIN){var start=decorations[i];var end=i+2<decorations.length?decorations[i+2]:source.length;var chunk=source.substring(start,end);var subDecs=PR_C_STYLE_LITERAL_IDENTIFIER_PUNC_RECOGNIZER(chunk,start);for(var j=0,m=subDecs.length;j<m;j+=2){var subStyle=subDecs[j+1];if(subStyle===PR_PLAIN){var subStart=subDecs[j];var subEnd=j+2<m?subDecs[j+2]:chunk.length;var token=source.substring(subStart,subEnd);if(token=='.'){subDecs[j+1]=PR_PUNCTUATION;}else if(token in PR_keywords){subDecs[j+1]=PR_KEYWORD;}else if(/^@?[A-Z][A-Z$]*[a-z][A-Za-z$]*$/.test(token)){subDecs[j+1]=token.charAt(0)=='@'?PR_LITERAL:PR_TYPE;}}}PR_spliceArrayInto(subDecs,decorations,i,2);i+=subDecs.length-2;}}return decorations;}var PR_MARKUP_LEXER=PR_createSimpleLexer([],[[PR_PLAIN,/^[^<]+/,null],[PR_DECLARATION,/^<!\w[^>]*(?:>|$)/,null],[PR_COMMENT,/^<!--[\s\S]*?(?:-->|$)/,null],[PR_SOURCE,/^<\?[\s\S]*?(?:\?>|$)/,null],[PR_SOURCE,/^<%[\s\S]*?(?:%>|$)/,null],[PR_SOURCE,/^<(script|style|xmp)\b[^>]*>[\s\S]*?<\/\1\b[^>]*>/i,null],[PR_TAG,/^<\/?\w[^<>]*>/,null]]);var PR_SOURCE_CHUNK_PARTS=/^(<[^>]*>)([\s\S]*)(<\/[^>]*>)$/;function PR_tokenizeMarkup(source){var decorations=PR_MARKUP_LEXER(source);for(var i=0;i<decorations.length;i+=2){if(decorations[i+1]===PR_SOURCE){var start=decorations[i];var end=i+2<decorations.length?decorations[i+2]:source.length;var sourceChunk=source.substring(start,end);var match=(sourceChunk.match(PR_SOURCE_CHUNK_PARTS));if(match){decorations.splice(i,2,start,PR_TAG,start+match[1].length,PR_SOURCE,start+match[1].length+(match[2]||'').length,PR_TAG);}}}return decorations;}var PR_TAG_LEXER=PR_createSimpleLexer([[PR_ATTRIB_VALUE,/^\'[^\']*(?:\'|$)/,null,"'"],[PR_ATTRIB_VALUE,/^"[^"]*(?:"|$)/,null,'"'],[PR_PUNCTUATION,/^[<>\/=]+/,null,'<>/=']],[[PR_TAG,/^[\w-]+/,/^</],[PR_ATTRIB_VALUE,/^[\w-]+/,/^=/],[PR_ATTRIB_NAME,/^[\w-]+/,null],[PR_PLAIN,/^\s+/,null,' \r\n']]);function PR_splitTagAttributes(source,decorations){for(var i=0;i<decorations.length;i+=2){var style=decorations[i+1];if(style===PR_TAG){var start=decorations[i];var end=i+2<decorations.length?decorations[i+2]:source.length;var chunk=source.substring(start,end);var subDecorations=PR_TAG_LEXER(chunk,start);PR_spliceArrayInto(subDecorations,decorations,i,2);i+=subDecorations.length-2;}}return decorations;}function PR_splitSourceNodes(source,decorations){for(var i=0;i<decorations.length;i+=2){var style=decorations[i+1];if(style==PR_SOURCE){var start=decorations[i];var end=i+2<decorations.length?decorations[i+2]:source.length;var subDecorations=PR_decorateSource(source.substring(start,end));for(var j=0,m=subDecorations.length;j<m;j+=2){subDecorations[j]+=start;}PR_spliceArrayInto(subDecorations,decorations,i,2);i+=subDecorations.length-2;}}return decorations;}function PR_splitSourceAttributes(source,decorations){var nextValueIsSource=false;for(var i=0;i<decorations.length;i+=2){var style=decorations[i+1];if(style===PR_ATTRIB_NAME){var start=decorations[i];var end=i+2<decorations.length?decorations[i+2]:source.length;nextValueIsSource=/^on|^style$/i.test(source.substring(start,end));}else if(style==PR_ATTRIB_VALUE){if(nextValueIsSource){var start=decorations[i];var end=i+2<decorations.length?decorations[i+2]:source.length;var attribValue=source.substring(start,end);var attribLen=attribValue.length;var quoted=(attribLen>=2&&/^["\']/.test(attribValue)&&attribValue.charAt(0)===attribValue.charAt(attribLen-1));var attribSource;var attribSourceStart;var attribSourceEnd;if(quoted){attribSourceStart=start+1;attribSourceEnd=end-1;attribSource=attribValue;}else{attribSourceStart=start+1;attribSourceEnd=end-1;attribSource=attribValue.substring(1,attribValue.length-1);}var attribSourceDecorations=PR_decorateSource(attribSource);for(var j=0,m=attribSourceDecorations.length;j<m;j+=2){attribSourceDecorations[j]+=attribSourceStart;}if(quoted){attribSourceDecorations.push(attribSourceEnd,PR_ATTRIB_VALUE);PR_spliceArrayInto(attribSourceDecorations,decorations,i+2,0);}else{PR_spliceArrayInto(attribSourceDecorations,decorations,i,2);}}nextValueIsSource=false;}}return decorations;}function PR_decorateSource(sourceCode){var decorations=PR_splitStringAndCommentTokens(sourceCode);decorations=PR_splitNonStringNonCommentTokens(sourceCode,decorations);return decorations;}function PR_decorateMarkup(sourceCode){var decorations=PR_tokenizeMarkup(sourceCode);decorations=PR_splitTagAttributes(sourceCode,decorations);decorations=PR_splitSourceNodes(sourceCode,decorations);decorations=PR_splitSourceAttributes(sourceCode,decorations);return decorations;}function PR_recombineTagsAndDecorations(sourceText,extractedTags,decorations){var html=[];var outputIdx=0;var openDecoration=null;var currentDecoration=null;var tagPos=0;var decPos=0;var tabExpander=PR_tabExpander(PR_TAB_WIDTH);function emitTextUpTo(sourceIdx){if(sourceIdx>outputIdx){if(openDecoration&&openDecoration!==currentDecoration){html.push('</span>');openDecoration=null;}if(!openDecoration&&currentDecoration){openDecoration=currentDecoration;html.push('<span class="',openDecoration,'">');}var htmlChunk=PR_textToHtml(tabExpander(sourceText.substring(outputIdx,sourceIdx))).replace(/(\r\n?|\n| ) /g,'$1&nbsp;').replace(/\r\n?|\n/g,'&nbsp;<br>');html.push(htmlChunk);outputIdx=sourceIdx;}}while(true){var outputTag;if(tagPos<extractedTags.length){if(decPos<decorations.length){outputTag=extractedTags[tagPos]<=decorations[decPos];}else{outputTag=true;}}else{outputTag=false;}if(outputTag){emitTextUpTo(extractedTags[tagPos]);if(openDecoration){html.push('</span>');openDecoration=null;}html.push(extractedTags[tagPos+1]);tagPos+=2;}else if(decPos<decorations.length){emitTextUpTo(decorations[decPos]);currentDecoration=decorations[decPos+1];decPos+=2;}else{break;}}emitTextUpTo(sourceText.length);if(openDecoration){html.push('</span>');}return html.join('');}function prettyPrintOne(sourceCodeHtml){try{var sourceAndExtractedTags=PR_extractTags(sourceCodeHtml);var source=sourceAndExtractedTags.source;var extractedTags=sourceAndExtractedTags.tags;var isMarkup=/^\s*</.test(source)&&/>\s*$/.test(source);var decorations=isMarkup?PR_decorateMarkup(source):PR_decorateSource(source);return PR_recombineTagsAndDecorations(source,extractedTags,decorations);}catch(e){if('console'in window){console.log(e);console.trace();}return sourceCodeHtml;}}var PR_SHOULD_USE_CONTINUATION=true;function prettyPrint(opt_whenDone){var codeSegments=[document.getElementsByTagName('pre'),document.getElementsByTagName('code'),document.getElementsByTagName('xmp')];var elements=[];for(var i=0;i<codeSegments.length;++i){for(var j=0;j<codeSegments[i].length;++j){elements.push(codeSegments[i][j]);}}codeSegments=null;var k=0;function doWork(){var endTime=(PR_SHOULD_USE_CONTINUATION?new Date().getTime()+250:Infinity);for(;k<elements.length&&new Date().getTime()<endTime;k++){var cs=elements[k];if(cs.className&&cs.className.indexOf('prettyprint')>=0){var nested=false;for(var p=cs.parentNode;p!=null;p=p.parentNode){if((p.tagName=='pre'||p.tagName=='code'||p.tagName=='xmp')&&p.className&&p.className.indexOf('prettyprint')>=0){nested=true;break;}}if(!nested){var content=PR_getInnerHtml(cs);content=content.replace(/(?:\r\n?|\n)$/,'');var newContent=prettyPrintOne(content);if(!PR_isRawContent(cs)){cs.innerHTML=newContent;}else{var pre=document.createElement('PRE');for(var i=0;i<cs.attributes.length;++i){var a=cs.attributes[i];if(a.specified){pre.setAttribute(a.name,a.value);}}pre.innerHTML=newContent;cs.parentNode.replaceChild(pre,cs);}}}}if(k<elements.length){setTimeout(doWork,250);}else if(opt_whenDone){opt_whenDone();}}doWork();}</script><script type='text/javascript'>prettyPrint();</script></BODY>
</HTML>