Webpage Workshop: Home » HTML language reference » Form

Form

This element is used to enclose a form that can be filled out by the user. It is used in combination with inputs and other form controls.

<form
    accept-charset="list of character sets"
    action="url"
    class="class name(s)"
    dir="ltr | rtl"
    enctype="application/x-www-form-urlencoded |
             multipart/form-data | text/plain |
             Other media type from RFC 2045"
    id="unique identifier"
    lang="language code"
    method="get | post"
    style="style information"
    target="_blank | frame name | _parent | _self | _top"**
    title="text"
>
</form>

Key:
‡ = Required attribute
** = Transitional only

Explanation of attributes

accept-charset: used to specify the character sets that can be used for encoding the data submitted by the form. This attribute should contain a space or comma separated list of character sets from RFC 1345. The default value of this attribute is "unknown".

action‡: used to specify the processor for the form. This attribute should contain a URL that points to a server-side program. This may be a CGI script or any other type of server-side script, eg. PHP or ASP.

class: used to state which class(es) the element belongs to. It is possible to indicate more than one class for an element by separating each class name with a space character. This attribute is normally used in combination with a stylesheet in order to associate the elements with particular styles defined within the stylesheet.

dir: used to set the direction of the text in combination with the language set in the lang attribute. The available values are "ltr" (left to right) and "rtl" (right to left), with the default value being "ltr".

enctype: used to define how the form data should be encoded when sent to the processor. Possible values include "application/x-www-form-urlencoded", "multipart/form-data", "text/plain" and any other formats defined in RFC 2045.

The default value is "application/x-www-form-urlencoded", which replaces certain characters in the form data with % followed by their ASCII hexadecimal representation. Space characters are also replaced with the + sign.

The "multipart/form-data" value is used when the form is uploading a file. This encoding method does not change any of the values in the input, but transfers the form content as a compound MIME document.

id: used to specify a unique alphanumeric identifier to the element. This is usually used in combination with stylesheets in order to apply a style to one particular instance of an element. Only one element, regardless of type, can be given a particular id.

lang: used to indicate the language being used in the text contained within the element. The value of this attribute takes on the form of the ISO standard lanuage abbreviations found in RFC 3066. A list of these codes can be found on the ISO language codes page.

method: used to specify the way in which the data should be passed to the processing script. There are two values for this attribute: "get" and "post".

Using the "get" value, the contents of the form are appended to the URL of the processing script, however there is a limit as to how long the URL can be and so this method does not work for large forms. The benefit of this method is that pages created from the form input can be bookmarked and revisited.

The "post" method uses HTTP to pass the data to the processor. This method is more secure and places no limit on the size of the data; the downside is that pages created in this way cannot be bookmarked.

style: used to specify an inline style to apply to the element. The styles defined here override the styles declared in the header section.

target**: used to specify the target window that the confirmation page for the form should appear in. Some of the values for this attribute are special in that they refer to specific frames, such as _blank (a new window), _parent (the parent frame), _self (the frame containing the link), and _top (the full browser window). Other values are used to target frames by the name defined in the frame element.

title: used to define an advisory text that may be displayed as a tooltip when a mouse is used to hover over the element.

Event handlers

The following event handlers are defined for this element:

Compatibility

Description: Support of form and attributes in various browsers
Test Internet Explorer 6+ Netscape 4 Mozilla and Netscape 6+ Opera 6+ MSN TV (WebTV) Konqeuror 3.0+
Basic element support  Yes  Yes  Yes  Yes  Yes  Yes 
Attribute: accept-charset  No  No  No  No  No  No 
Attribute: action  Yes  Yes  Yes  Yes  Yes  Yes 
Attribute: class  Yes  Yes  Yes  Yes  Yes  Yes 
Attribute: dir  Yes  No  Yes  No  No  No 
Attribute: enctype  Yes  Yes  Yes  Yes  No  Yes 
Attribute: id  Yes  Yes  Yes  Yes  Yes  Yes 
Attribute: lang  Yes  No  Yes  No  No  No 
Attribute: style  Yes  Yes  Yes  Yes  Yes  Yes 
Attribute: target  Yes  Yes  Yes  Yes  Yes  Yes 
Attribute: title  Yes  No  Yes  Yes  No  Yes 

Key:
The browser icons are explained in the below list:
Internet Explorer 6+ = Microsoft Internet Explorer 6+
Netscape 4 = Netscape Communicator 4
Mozilla and Netscape 6+ = Mozilla and Netscape Navigator 6+
Opera 7+ = Opera 7+
MSN TV (WebTV) = MSN TV (aka. WebTV)
Konqeuror 3.0+ = Konqueror 3.0+