HTML フォーム

❮ 前章へ 次章へ ❯

HTML フォームの例

First name:

Last name:


Try it Yourself »

<form> 要素

<form>
.
form elements
.
</form>

HTML フォームは、form 要素を含みます。

フォーム要素とは、テキストフィールド、チェックボックス、ラジオボタン、送信ボタンなどのさまざまな種類の input 要素です。


<input> 要素

<input> は、最も重要な form 要素です。

<input> 要素は、type 属性に応じていくつかの方法で表示できます。

ここではいくつかの例を示します:

タイプ 説明
<input type="text"> 1 行のテキスト入力フィールドを定義します
<input type="radio"> ラジオボタンを定義します(多くの選択肢から 1 つを選択する場合)
<input type="submit"> フォームを送信するための送信ボタンを定義します

このチュートリアルの後半で、入力のタイプについてより詳しく学習します。


テキスト入力

<input type="text"> は、テキスト入力のための 1 行の入力フィールドを定義します:

<form>
  First name:<br>
  <input type="text" name="firstname"><br>
  Last name:<br>
  <input type="text" name="lastname">
</form>
Try it Yourself ❯

上記の HTML コードは、ブラウザに次のように表示されます:

First name:

Last name:

注: フォーム自体は目に見えません。 また、テキストフィールドのデフォルト幅が 20 文字あることにも注意してください。


ラジオボタン入力

<<input type="radio"> は、ラジオボタンを定義します。

ラジオボタンは、限られた数の選択肢の中から 1 つだけをユーザに選択させます:

<form>
  <input type="radio" name="gender" value="male" checked> Male<br>
  <input type="radio" name="gender" value="female"> Female<br>
  <input type="radio" name="gender" value="other"> Other
</form>
Try it Yourself ❯

上記の HTML コードは次のようにブラウザへ表示されます:

Male
Female
Other

サブミットボタン

<input type="submit"> は、フォームハンドラへフォームを 送信するためのボタンを定義します。

サブミットボタンは、フォームデータをサーバへ送信するために使用します。 データは、フォームの action 属性で指定したページに送られます。 action 属性で定義したファイルは、通常、受信した入力で何らかの処理を行います:

フォームハンドラは、通常、入力データを処理するためのスクリプトを持つサーバ・ページです。

フォームハンドラは、フォームの action 属性で指定します:

<form action="action_page.php">
  First name:<br>
  <input type="text" name="firstname" value="Mickey"><br>
  Last name:<br>
  <input type="text" name="lastname" value="Mouse"><br><br>
  <input type="submit" value="Submit">
</form>
Try it Yourself ❯

上記のHTMLコードは、ブラウザに次のように表示されます:

First name:

Last name:



action 属性

action 属性 は、フォームを送信したときに実行するアクションを定義します。

通常、ユーザが送信ボタンをクリックすると、フォームデータがサーバ上の Web ページに送信されます。

上記の例では、フォームデータは "action_page.php" というサーバ上のページに送信されます。 このページには、フォームデータを処理するサーバサイド・スクリプトが含まれています:

<form action="action_page.php">

action 属性を省略すると、アクションは現在のページに設定されます。


method 属性

method 属性は、フォームを送信するときに使用する HTTP メソッド (GET または POST) を指定します:

<form action="action_page.php" method="GET">

または:

<form action="action_page.php" method="POST">

GET を使用する場合は?

フォームを送信するときのデフォルト・メソッドは GET です。

ただし、GET を使用した場合、送信フォームデータがページ・アドレス・フィールドに表示されます:

action_page.php?firstname=Mickey&lastname=Mouse

注: 機密情報を送信する際には GET を使用しないでください! GET はサイズの制限があるため、少量で、非機密なデータに適しています。


POST を使用する場合は?

フォームデータに機密情報や個人情報が含まれている場合は、いつも POST を使用してください。 POST メソッドは、送信されたフォームデータをページアドレスフィールドに表示しません。

POST にはサイズの制限はなく、大量のデータを送信するために使用できます。


name 属性

送信するために、各入力フィールドには name 属性がなければなりません。

name 属性を省略すると、その入力フィールドのデータはまったく送信されません。

この例は、"Last name" 入力フィールドのみを送信します:

<form action="action_page.php">
  First name:<br>
  <input type="text" value="Mickey"><br>
  Last name:<br>
  <input type="text" name="lastname" value="Mouse"><br><br>
  <input type="submit" value="Submit">
</form>
Try it Yourself ❯

<fieldset> によるフォームデータのグループ化

<fieldset> 要素は、フォーム内の関連したデータをグループ化します。

<legend> 要素は、<fieldset> 要素のキャプションを定義します。

Example

<form action="action_page.php">
  <fieldset>
    <legend>Personal information:</legend>
    First name:<br>
    <input type="text" name="firstname" value="Mickey"><br>
    Last name:<br>
    <input type="text" name="lastname" value="Mouse"><br><br>
    <input type="submit" value="Submit">
  </fieldset>
</form>
Try it Yourself ❯

上記のHTMLコードは、ブラウザに次のように表示されます:

Personal information: First name:

Last name:



その他の例

フォームからの e-mail 送信
フォームから e-mail を送信する方法。


練習問題を自分でテストしてください!

Exercise 1 »   Exercise 2 »   Exercise 3 »   Exercise 4 »


<form> 属性のリストは、次のとおりです:

属性 説明
accept-charset 送信するフォームで使用した文字セットを指定 (デフォルト:ページの文字セット)。
action フォームを送信する場所のアドレス (url) を指定 (デフォルト:送信するページ)。
autocomplete ブラウザがフォームを自動補完するかを指定 (デフォルト:on)。
enctype 送信データのエンコーディングを指定 (デフォルト:is url-encoded)。
method フォームを送信提出する時に使用する HTTP メソッドを指定 (デフォルト:GET)。
name フォームを識別するために使用する名前を指定 (DOM を使用する場合:document.forms.name)。
novalidate ブラウザへフォームを検証しないよう指定。
target action 属性のアドレスのターゲットを指定 (デフォルト:_self).

次の章で属性の詳細を学習します。


❮ 前章へ 次章へ ❯