Attributes for form
submission can be specified both on form
elements and on submit
buttons (elements that represent buttons that submit forms,
e.g. an input
element whose type
attribute is in the Submit
Button state).
The attributes for form
submission that may be specified on form
elements are action
, enctype
, method
, novalidate
, and target
.
The corresponding attributes for form
submission that may be specified on submit
buttons are formaction
, formenctype
, formmethod
, formnovalidate
, and formtarget
. When omitted, they
default to the values given on the corresponding attributes on the
form
element.
The action
and formaction
content
attributes, if specified, must have a value that is a valid
non-empty URL potentially surrounded by spaces.
The action of an element is the value of the
element's formaction
attribute, if the element
is a submit
button and has such an attribute, or the value of its form owner's action
attribute, if it has one, or
else the empty string.
The method
and formmethod
content
attributes are enumerated attributes with the following
keywords and states:
get
, mapping to the
state GET, indicating the HTTP GET
method.post
, mapping to
the state POST, indicating the HTTP POST
method.The invalid value default for these attributes is the GET state. (There is no missing value default.)
The method of an element is one of those
states. If the element is a submit
button and has a formmethod
attribute, then the
element's method is
that attribute's state; otherwise, it is the form owner's method
attribute's state.
The enctype
and formenctype
content
attributes are enumerated attributes with the following
keywords and states:
application/x-www-form-urlencoded
"
keyword and corresponding state.multipart/form-data
"
keyword and corresponding state.text/plain
" keyword and
corresponding state.The invalid value default for these attributes is the
application/x-www-form-urlencoded
state. (There is no missing value default.)
The enctype of an element is one of those
three states. If the element is a submit
button and has a formenctype
attribute, then the
element's enctype is
that attribute's state; otherwise, it is the form owner's enctype
attribute's state.
The target
and formtarget
content
attributes, if specified, must have values that are valid browsing context
names or keywords.
The target of an element is the value of the
element's formtarget
attribute, if the element
is a submit
button and has such an attribute; or the value of its form owner's target
attribute, if it has such an
attribute; or, if the Document
contains a base
element with a target
attribute, then the value of the
target
attribute of the first such
base
element; or, if there is no such
element, the empty string.
The novalidate
and formnovalidate
content
attributes are boolean
attributes. If present, they indicate that the form is not to
be validated during submission.
The no-validate state of an element is
true if the element is a submit
button and the element's formnovalidate
attribute is
present, or if the element's form owner's novalidate
attribute is present, and
false otherwise.
This attribute is useful to include "save" buttons on forms that have validation constraints, to allow users to save their progress even though they haven't fully entered the data in the form. The following example shows a simple form that has two required fields. There are three buttons: one to submit the form, which requires both fields to be filled in; one to save the form so that the user can come back and fill it in later; and one to cancel the form altogether.
<form action="editor.cgi" method="post"> <p><label>Name: <input required name=fn></label></p> <p><label>Essay: <textarea required name=essay></textarea></label></p> <p><input type=submit name=submit value="Submit essay"></p> <p><input type=submit formnovalidate name=save value="Save essay"></p> <p><input type=submit formnovalidate name=cancel value="Cancel"></p> </form>
A form control
dirname
attribute on a form control
element enables the submission of the directionality of the element,
and gives the name of the field that contains this value during
form submission. If such an attribute is
specified, its value must not be the empty string.