HTML フォームは、さまざまな種類のユーザー入力を収集するために使用されます。
HTML フォームはユーザー入力を収集するために使用されます。
<form> 要素は HTML フォームを定義します。
<form> . form elements . </form>
フォーム要素は、チェックボックス、ラジオ ボタン、送信ボタンなど、さまざまなタイプの入力要素を指します。
<input> 要素は、最も重要なフォーム要素です。
<input> 要素には、type 属性に応じて多くの形式があります。
これは、この章で使用されるタイプです:
| タイプ | 説明 |
|---|---|
| text | は通常のテキスト入力を定義します。 |
| radio | ラジオ ボタン入力を定義します (複数の選択肢から 1 つを選択します) |
| submit | 送信ボタンを定義します (フォームを送信) |
注: 入力タイプについては、このチュートリアルの後半で詳しく学習します。
<input type="text"> は、テキスト入力用の 1 行の入力フィールドを定義します。
<form> First name:<br> <input type="text" name="firstname"> <br> Last name:<br> <input type="text" name="lastname"> </form>
ブラウザでは次のように表示されます:
注: フォーム自体は表示されません。 また、テキスト フィールドのデフォルトの幅は 20 文字であることに注意してください。
<input type="radio"> はラジオ ボタンを定義します。
ラジオ ボタンを使用すると、ユーザーは限られた数のオプションから 1 つを選択できます。
<form> <input type="radio" name="sex" value="male" checked>Male <br> <input type="radio" name="sex" value="female">Female </form>
ブラウザでは、ラジオ ボタンは次のようになります。
<input type="submit"> は、フォーム ハンドラー ボタンへの送信フォームを定義します。
フォーム ハンドラーは通常、入力データを処理するスクリプトを含むサーバー ページです。
フォーム ハンドラーは、フォームの 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>
ブラウザでは次のように表示されます:
action 属性は、フォームの送信時に実行するアクションを定義します。
フォームをサーバーに送信する通常の方法は、送信ボタンを使用することです。
通常、フォームは Web サーバー上の Web ページに送信されます。
上記の例では、送信されたフォームを処理するサーバー スクリプトが指定されています。
<form action="action_page.php">
action 属性を省略した場合、アクションは現在のページに設定されます。
method 属性は、フォームの送信時に使用する HTTP メソッド (GET または POST) を指定します。
<form action="action_page.php" method="GET">
または:
<form action="action_page.php" method="POST">
GET (デフォルトのメソッド) を使用できます。
フォームの送信が受動的(検索エンジンのクエリなど)であり、機密情報が含まれていない場合。
GET を使用すると、フォーム データがページのアドレス バーに表示されます。
action_page.php?firstname=Mickey&lastname=Mouse
注: GET は、小規模なデータの送信に最適です。 ブラウザには容量制限が設定されています。
POST を使用する必要があります:
フォームがデータを更新している場合、または機密情報 (パスワードなど) が含まれている場合。
送信されたデータはページのアドレス バーに表示されないため、POST の方が安全です。
正しく送信するには、各入力フィールドに 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>
<fieldset> 要素は、フォーム内の関連データを結合します
<legend> 要素は、<fieldset> 要素のタイトルを定義します。
<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>
上記の HTML コードはブラウザでは次のように表示されます。
HTML <form> 要素は、可能なすべての属性を設定すると次のようになります。
<form action="action_page.php" method="GET" target="_blank" accept-charset="UTF-8" ectype="application/x-www-form-urlencoded" autocomplete="off" novalidate> . form elements . </form>
ここに <form> 属性のリストを示します:
| 属性 | 説明 |
|---|---|
| accept-charset | は、送信されたフォームで使用される文字セットを指定します (デフォルト: ページ文字セット)。 |
| action | には、フォーム(送信ページ)を送信するアドレス(URL)を指定します。 |
| autocomplete | は、ブラウザがフォームをオートコンプリートすることを指定します (デフォルト: オン)。 |
| enctype | は、送信されたデータのエンコードを指定します (デフォルト: URL エンコード)。 |
| method | は、フォームの送信時に使用する HTTP メソッドを指定します (デフォルト: GET)。 |
| name | フォームを識別する名前を指定します (DOM 使用の場合: document.forms.name)。 |
| novalidate | は、ブラウザがフォームを検証しないことを指定します。 |
| target | action 属性でアドレスの対象を指定します (デフォルト: _self)。 |
注: 属性については、次の章で詳しく説明します。