入力フォームを作る
フォーム設定のページ フォームの設定、入力項目と項目名の関連付け、フォームのグループ化
テキスト入力、ラジオボタン、チェックボックス、セレクトボックスなど
送信ボタン、リセットボタン、画像の送信ボタン、汎用ボタンなど
<form>

 <form>タグで、入力フォームを作成します。

 <form></form>
* <form>タグで囲んだ部分に、テキスト入力欄、選択ボタン、送信ボタンなどを記述します。

 ★ 使用例とブラウザでの表示
使 用 例   ブラウザの表示
<form method="POST" action="exam_1.cgi">
お名前:<input type="text" name="e_name"><br>
メール:<input type="text" name="E-mail"><br>
<input type="submit" value="送信する">
<input type="reset" value="リセットする">
</form>
お名前:
メール
フォームの設定例   ブラウザの表示
テキストの入力欄
テキストの入力欄(複数行)
パスワードの入力欄
ラジオボタン(1つだけ選択が可能) ラジオ1ラジオ2ラジオ3
チェックボックス(複数選択が可能) チェック1 チェック2 チェック3
セレクトボックス(プルダウン形式)
セレクトボックス(リスト形式)
ファイルの選択欄
隠しデータの設定欄 (画面には表示しません)
送信ボタンとリセットボタン

(データ送信) * * 次へ 最後へ
データの送信形式と送信先を指定する
<form method="" action=""> <form method="" action="" target="">
<form method=POST action="" enctype="">

 <form>タグに method属性や action属性を追加すると、送信形式や送信先を指定できます。

 <form method="POST" action="origin.cgi">
method="" POST:POST形式で送信
GET:GET形式で送信(初期値)
action=""データの送信先を指定
  <form>タグには、action属性が必須となります。
 送信形式(POSTとGET)
 データの送信形式は、method属性に POSTGET を指定します。一般的なフォームでは POST を指定します。 method属性の指定を省いた場合は、GET が適用されます。
※ POST … フォームのデータを本文として送信します。
一度に大量のデータを送信することが可能です。
※ GET … フォームのデータを URL の末尾に追加して送信します。
送信できるデータ量には制限があります。
 データの送信先
 一般的には、CGI(Common Gateway Interface)などのプログラムに送信します。送信先は、そのプログラムのファイル名を指定して下さい。

 ★ 使用例とブラウザでの表示
使 用 例   ブラウザの表示
<form method="POST" action="exam_2.cgi">
名前:<input type="text" name="f_name"
size=30><br>
メッセージ:<br>
<textarea cols=30 rows=4 name="f-send">
</textarea><br>
<input type="submit" value="送信する">
<input type="reset" value="リセットする">
</form>
名前:
メッセージ:


(データ送信) 先頭へ 前へ 次へ 最後へ
送信結果を表示するウィンドウの指定
 <form>タグに target属性を追加すると、送信結果を表示するウィンドウ(フレーム)を指定できます。

 <form method="POST" action="origin.cgi" target="_top">
target="" _blank新たにブラウザを立ち上げて表示
_topフレームの分割を廃止して画面全体で表示
_selfリンク元と同じウィンドウ(フレーム)に表示(初期値)
_parent親フレームに表示
ウィンドウ名(フレーム名):任意のウィンドウ(フレーム)に表示
target"_blank" を指定した場合は、ユーザーの環境によってはポップアップブロックが機能することがあります。
DOCTYPE宣言」が "Strict" の場合は、target属性を使用できません(【HTML4.01】の 1) Strict を参照)。
 フレームを使用した場合の例
レイアウト1■ メインページに入力欄を置き、下のフレームに結果を表示する場合

チャットなどで使用されるパターンです。上の入力欄でデータをプログラムに信送し、信送結果を下のフレームに表示します。

指定方法: 下のフレームにフレーム名を付けて、target="" にその名前を指定します。

フレーム名の付け方は、<frame>タグの「フレーム名の設定」をご覧下さい。
レイアウト2■ 下のフレームに入力欄を置き、送信結果をページ全体で表示する場合

メール送信フォームを作成した時などのパターンです。下のフレームでデータをプログラムに送信し、メール送信の結果をページ全体で表示します。

指定方法: target="_top" を指定します。

 ★ 使用例とブラウザでの表示
使 用 例   ブラウザの表示
<form method="POST" action="exam_3.cgi"
target="under"
>

コメント:<input type="text" name="t_name"
size=30><br>
<input type="submit" value="送信する">
<input type="reset" value="リセットする">
</form>
コメント:
frameName:under
[送信]ボタンをクリックすると、フレーム(under)に Dummy File を表示します。

関連するページ
HTML タグページ DocType宣言:DOCTYPE宣言

(データ送信) 先頭へ 前へ * *
送信時のデータ形式を指定する
 <form>タグに enctype属性を追加すると、送信時のデータ形式(MIMEタイプ)を指定できます。
  enctype属性を使用する場合は、method属性に "POST" を指定します。

 <form method="POST" action="origin.cgi" enctype="multipart/form-data">
enctype="" application/x-www-form-urlencoded:URLエンコード(初期値)
multipart/form-data:マルチパート
 application/x-www-form-urlencoded(初期値)
データをURLエンコード(変換)して送信します。enctype属性を指定しない場合は、このタイプが適用されます。

一般的なフォームでは、enctype属性の指定は必要ありません。
 multipart/form-data
データをマルチパートデータとして送信します。フォーム内にファイルの送信欄を配置する場合には、このタイプを指定します。

 ★ 使用例とブラウザでの表示
使 用 例   ブラウザの表示
<from method="POST" action="example.cgi"
enctype="multipart/form-data"
>

お名前 :<input type="text" name="s_name" size=28>
<br>ファイル:<input type="file" name="s_file" size=24>
<br><input type="submit" value="送信する">
</from>
お名前 :
ファイル:
※サンプルのため、送信はできません。

関連するページ
HTML タグページ ファイル送信欄:ファイルの送信欄を作る

入力項目と項目名を関連付ける
<label>

 <label>タグを指定すると、入力項目(フォームの部品)と項目名を関連付けることができます。

 ■入力項目と項目名(テキスト)を関連付ける方法
・ <input>タグに id属性を追加し、関連付けしたい「ラベル名」を指定します。
<input type="checkbox" name="name" value="" id="label1">
・ <label>タグに for属性を指定し、「ラベル名」を付けます。
<label for="label1">項目名(テキスト)</label>
項目名(テキスト)」を<input>タグの上の行左側に表示する場合は、<label>タグを「先に」指定して下さい。
id=""任意の名前(ラベル名)を指定
for=""id="" と同じ名前(ラベル名)を指定
名前は、アルファベットで始まる半角英数字(一部の記号も使用可)で自由に指定できます。
使用できる記号は、ハイフォン( - )、アンダーバー( _ )、コロン( : )、ピリオド( . )の4つです。
 使用方法
 通常のフォームでは、「項目名(テキスト)」の部分をクリックしても、その入力項目を選択できません。
 例えば、ラジオボタンの場合、「丸の部分」をクリックしないとその項目は選択できません。
 <label>タグで関連付けを行うと、「項目名」をクリックしてもその項目を選択できるようになります。
 記述方法1 <input>タグと<label>タグを別々に記述する場合
 まず、<input>タグに id="" を追加して名前(ラベル名)を指定します。次に、<label>タグに for="" を追加して id="" と同じ名前(ラベル名)を指定し、「項目名(テキスト)」を終了タグ囲みます。
 <input type="radio" name="name" value="" id="yes"><label for="yes">はい</label>
この例では "yes" という名前(ラベル名)によって、ラジオボタンと項目名を関連付けます。
 記述方法2 <input>タグを<label>タグで囲む場合
 <label>タグで<input>タグ全体と、「項目名」を囲んで指定します。この記述方法は、for=""id=""省略できます。
 <label><input type="radio" name="name" value="">はい</label>
この方法は、名前(ラベル名)がないので記述は簡単ですが、対応していないブラウザもあります。

 ★ 使用例とブラウザでの表示
使 用 例   ブラウザの表示
☆ <input>タグを単独で使用する場合
ご出席:<input type="radio" name="l-name1" value="">はい
<input type="radio" name="l-name1" value="">いいえ
ご出席:はい いいえ
☆ <label>タグで「関連付け」する場合
ご出席:<input type="radio" name="l-name2" value="" id="yes">
<label for="yes">はい</label>
<input type="radio" name="l-name2" value="" id="no">
<label for="no">いいえ</label>

ご出席:

※ 「はい」 や 「いいえ」 をクリックし、
違いを確かめて下さい。

入力フォームをグループ化する
<fieldset> <legend><legend align="">

 <fieldset>タグを指定すると、フォームの入力項目をグループ化できます。また、<legend>タグを指定すると、そのグループにタイトルを付けられます。

<form method="POST" action="origin.cgi">
<fieldset><legend>タイトル</legend>
お名前:<input type="text" name="name" size=30><br>
E-mail:<input type="text" name="email" size=30>
</fieldset>
 グループ化する入力項目を<fieldset>タグで囲みます。
 これにタイトルを付ける場合は、<fieldset>の後に<legend>タグを置き、<legend>〜</legend>で囲んだ部分にタイトルを記述します。
 複数のグループを設定する場合には、これを繰り返します。
 
 【 ラベルの表示位置を指定する 】
* <legend>タグに align属性を追加するとタイトルの表示位置を指定できます。
 <legend align="right">タイトル</legend>
align="" には、left(左寄せ…標準)、center(中央寄せ)、right(右寄せ)が指定できます。
この他に、align="top" (上部に表示)や align="bottom"(下部に表示)も指定できますが、これには対応していないブラウザも有ります。
この align属性は、HTML4.01では非推奨とされています。詳細は、「非推奨タグと非推奨属性」のページをご覧下さい。非推奨タグのページへ

 ★ 使用例とブラウザでの表示
<form method="POST" action="exam_4.cgi">
<fieldset><legend>申込書</legend>
&nbsp;お名前:<input type="text" name="fl_name1" size=20>
&nbsp;E-mail:<input type="text" name="fl-email" size=25>
</fieldset>
<fieldset><legend align="center">お届け先</legend>
&nbsp;お名前:<input type="text" name="fl_name2" size=20>
&nbsp;&nbsp;Tel:<input type="text" name="fl-tel" size=25><br>
&nbsp;ご住所:<textarea name="fl-address" cols=42 rows=2></textarea>
</fieldset>
<span style="margin-left:60px;"><input type="submit" value="送信する">
<input type="reset" value="リセットする">
</form>
※ 例文中の &nbsp;style="margin-left:60px;" は、項目名や[送信]ボタンの左側に
マージンを付けるための記述です。
 これをブラウザで見ると、次のように表示されます。
申込書 お名前:  E-mail:
お届け先  お名前:   Tel:

 ご住所:
Operaは、<legend>の align属性に対応していません。

関連するページ
CSS スタイルシート部品グループの背景色:部品グループの背景色を指定する
CSS スタイルシート部品グループの境界線:部品グループの境界線を指定する
CSS スタイルシート部品グループの余白:部品グループの余白を調整する

入力フォームデータの送信 入力項目と項目名 入力項目のグループ化 フォームtag リファレンス へ