ボタン等のフォーム部品を配置するのに使用します。
フォーム部品には、以下の種類があります。
フォーム部品は <FIELDSET> タグでグループ化することができます。
XML文書をXSLTスタイルシートでHTML文書に変換した場合、FORMからの送信データは UTF-8 でエンコーディングされます(エンコーディング方法を指定しても無視されます)。POST先(サーブレットやCGI)でエンコーディング方法を UTF-8 以外に指定すると文字化けしてしまいます。
フォームのデフォルトのボタンは、最初のサブミットボタンである。
ひとつのフォームに複数のサブミットボタンがある場合
<form action="http://itref.fc2web.com">
<input type="submit" name="button1" value="value">
<input type="submit" name="button2" value="value">
</form>
button1をクリックした場合、
button1=value
というデータが送信される。button2をクリックした場合、
button2=value
というデータが送信される。
<form action="http://itref.fc2web.com">
<input type="submit" name="button" value="button1">
<input type="submit" name="button" value="button2">
</form>
button1をクリックした場合、
button=button1
というデータが送信される。button2をクリックした場合、
button=button2
というデータが送信される。
<form">
<!-- form content -->
</form>
開始タグと終了タグは省略できません。
開始タグと終了タグの間にはブロック要素(ただし、FORM 要素を除く)または SCRIPT 要素が現れます。
formの中にformを入れることはできない。formの入れ子(ネスト)は禁じられている。
<!-- 間違ったHTML -->
<form action="foo.php">
<input name="common" value="bar">
<form action="bar.php">
<input type="submit">
</form>
<input type="submit">
</form>
<form accept-charset="utf-8">
method | 必須属性 |
---|---|
GET | action 又は action-xhr |
POST | action-xhr |
on
(デフォルト)を指定した場合、フォーム内のinput要素でオートコンプリート(Webブラウザによる入力候補及び自動補完)が有効になる。
off
を指定した場合、フォーム内のinput要素でオートコンプリートが無効になる。ただし、Webブラウザによっては、この指定が無視されることがある。
属性値 | 意味 |
---|---|
application/x-www-form-urlencoded | エンコード(変換)された状態で送信します。(規定値) |
multipart/form-data | 添付ファイルとして送信します。フォームでファイルを送信する場合に指定します。 |
text/plain | プレーンテキストで送信します。フォームの内容をメールで送信する場合に指定します。 |
<form enctype="multipart/form-data">
<label for="file">ファイル</label>
<input type="file" id="file">
<input type="submit">
</form>
値 | 意味 |
---|---|
GET | 送信するデータが URL 中に埋め込まれます。(規定値) |
POST | 送信するデータが URL とは別に送られます。 |
<form novalidate>
<label for="pw">Password</label>
<input type="password" id="pw" minlength="8" maxlength="16">
</form>
属性値 | 意味 |
---|---|
_blank | 新しいウィンドウを開きます |
_self | 現在のウィンドウを使います |
名前 | 指定した名前のフレームを使います |
_top | フレーム分割している場合、フレームを解除して現在のウィンドウを使います |
JavaScriptからは HTMLFormElement インタフェースを通じてform要素へアクセスできる。
Web Hypertext Application Technology Working Group (2022) "Forms" HTML Living Standard
OpenJS Foundation (2022) amp-form