Section 10 : フォームの基礎(2)

 フォームコントロールにはさまざまな種類のものがあるが,そのほとんどは <INPUT> によって生成される。1 種類の要素が多くのものに化けるので,属性の指定などはひじょうに複雑である。

<INPUT>

 さまざまなフォームコントロールの生成に用いるのが

<INPUT>

である。同じ要素でもさまざまなコントロールに化けるので,属性の指定はひじょうに複雑で,その数も多い。まずは,おもなものをあげておく。

<INPUT> の属性
属性 解説
TYPE キーワード フォームコントロールの種類。既定値は text
NAME 文字列 個々のフォームコントロールを識別するためにつける名前。
VALUE 文字列 そのフォームコントロールの初期値,または持つべき値など。
CHECKED ブール値 そのフォームコントロールを初期状態でチェック済みにしておくかどうかを指定する。
SIZE 数値 そのフォームコントロールの大きさ。
MAXLENGTH 数値 そのフォームコントロールに入れられる最大文字長。既定値は,“最大長の制限はなし”。
SRC URI TYPE="image" のときの,画像の URI。
ALT 文字列 TYPE="image" のときの,画像の代替文字列。
USEMAP URI TYPE="image" のときに,クライアントサイドイメージマップの使用を宣言する。
ACCEPT MIME タイプ
(複数)
TYPE="file" のときに,受け入れるファイルの MIME タイプを指定する。
onFocus スクリプト コントロールがフォーカスを得たときに実行されるスクリプト。
onBlur スクリプト コントロールがフォーカスを失ったときに実行されるスクリプト。
onSelect スクリプト コントロール中の文字列が選択されたときに実行されるスクリプト。
onChange スクリプト コントロールの内容が変わったときに実行されるスクリプト。

 TYPE 属性に与えることのできる値は,Section 9<INPUT> を使って生成できるコントロールをあげたとき,( )に書かれていた値である。具体的には,textpasswordcheckboxradiosubmitresetfilehiddenimagebutton である。

 NAME 属性は,少なくともそのフォームコントロールを含む <FORM> 内で一意が保証されていればよい。また,TYPE 属性が submitreset 以外では必ず指定しなくてはならない。

 たくさんの属性があるが,TYPE 属性の値によって必須になる属性,必要ない属性が変わってくる。これから,<INPUT> で生成されるコントロールについて,個別に解説を加えていこう。

1 行入力のテキストボックス

 1 行入力のテキストボックスは,TYPE="text" で生成される。

 複数行の入力をする場合は <TEXTAREA> を用いる。

 テキストボックスのデータは名前と内容が組になって渡される。

<P>Input your name:
  <INPUT TYPE="text" NAME="name1" SIZE="30"></P>

Input your name:

 また,パスワードを入力する際のテキストボックスは TYPE="password" で生成される。基本的な動作は前述のテキストボックスと同じであるが,表示される文字が伏せられるという点だけが異なっている。ただし,表示だけが伏せられるのであって,値が渡されるときは何の防護もなく,裸のまま送られる。たとえば,<FORM> の METHOD 属性が get で,application/x-www-urlencoded で送られる場合には,入力した文字列が URI の中に見えてしまう。

<P>Input password:
  <INPUT TYPE="password" NAME="passwd" SIZE="10" MAXLENGTH="10"></P>

Input password: