フォームコントロールにはさまざまな種類のものがあるが,そのほとんどは <INPUT> によって生成される。1 種類の要素が多くのものに化けるので,属性の指定などはひじょうに複雑である。
さまざまなフォームコントロールの生成に用いるのが
<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> を使って生成できるコントロールをあげたとき,( )に書かれていた値である。具体的には,text,password,checkbox,radio,submit,reset,file,hidden,image,button である。
NAME 属性は,少なくともそのフォームコントロールを含む <FORM> 内で一意が保証されていればよい。また,TYPE 属性が submit,reset 以外では必ず指定しなくてはならない。
たくさんの属性があるが,TYPE 属性の値によって必須になる属性,必要ない属性が変わってくる。これから,<INPUT> で生成されるコントロールについて,個別に解説を加えていこう。
1 行入力のテキストボックスは,TYPE="text" で生成される。
複数行の入力をする場合は <TEXTAREA> を用いる。
テキストボックスのデータは名前と内容が組になって渡される。
<P>Input your name:
<INPUT TYPE="text" NAME="name1" SIZE="30"></P>
また,パスワードを入力する際のテキストボックスは TYPE="password" で生成される。基本的な動作は前述のテキストボックスと同じであるが,表示される文字が伏せられるという点だけが異なっている。ただし,表示だけが伏せられるのであって,値が渡されるときは何の防護もなく,裸のまま送られる。たとえば,<FORM> の METHOD 属性が get で,application/x-www-urlencoded で送られる場合には,入力した文字列が URI の中に見えてしまう。
<P>Input password:
<INPUT TYPE="password" NAME="passwd" SIZE="10" MAXLENGTH="10"></P>