form要素

概要

form要素はフォームを表すブロックレベル要素です。

要素の内容

ブロックレベル要素だけを子要素として含むことができます。ただし、form要素を含むことはできません。

Transitional/Framesetではインライン要素も子要素として含むことができます。

属性

固有属性

属性名 属性値 説明
action URI 必須属性。フォームの送信先を指定します。必ず記述する必要があります。
method get | post フォームを送信する際のHTTPメソッドを指定できます。デフォルトの値は"get"です。
enctype ContentType method="post"の場合に、フォームを送信するときのMIMEタイプを指定できます。デフォルトの値は"application/x-www-form-urlencoded"です。ファイルを送信する場合は"multipart/form-data"を指定します。
accept ContentTypes フォームを受け取るサーバが処理できるMIMEタイプをコンマ区切りで指定できます。
accept-charset Charsets フォームを受け取るサーバが処理できる文字符号化方法(文字コード)を指定できます。
name CDATA(XHTMLではNMTOKEN スクリプトなどから参照する際に用いる識別子を指定できます。この属性は後方互換性のために残されているもので、代わりにid属性を用いることが推奨されています。XHTML1.0 Strict, XHTML1.1では使用できません。
target FrameTarget Transitional/Framesetのみ。フォームの送信結果を読み込むフレームを指定できます。

汎用属性

id, class, title, langxml:lang), dir, style, xmlns(XHTML1.1のみ)

onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup, onsubmit, onreset

説明

form要素はフォームを表すブロックレベル要素です。フォームで送信される情報は、input要素textarea要素select要素などのコントロール(フォームの部品)としてフォーム要素内に記述します。

<!-- 例 -->
<form method="post" action="comment.cgi">
  <p>
    <label>コメント: <input type="text" size="20" name="comment" value="" /></label>
    <input type="submit" value="送信" />
  </p>
</form>

フォームのデータは、各コントロールの名前(name属性値)と値(主にvalue属性値)の対としてaction属性で指定されたURIに送信されます。送信されたデータはCGIやサーバサイドスクリプトで処理するのが一般的です(JavaScriptなどで利用することもできます)。

要素の内容

form要素の子要素として記述できるのはブロックレベル要素だけです(Transitioinal/Framesetではインライン要素も記述できますが)。一方、フォームのコントロール(input要素select要素など)はインライン要素です。そのため、form要素はコントロールを直接含むことはできません。

フォームのコントロールは、p要素、リスト(ul要素ol要素dl要素)、あるいはfieldset要素などの中に記述し、form要素がそれらのブロックレベル要素をグループ化するという形になります。

関連要素