reflux flow > HTML/XHTMLリファレンス > HTML/XHTML 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, lang(xml: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要素がそれらのブロックレベル要素をグループ化するという形になります。