フォームコントロールの紹介の最後は,複数行入力できるテキストボックスと,HTML 4.0 で新しく登場した汎用ボタンコントロールである。
テキストボックスは <INPUT> に対して TYPE="text" を指定することでも生成できるが,これは 1 行のみの入力である。複数行の入力を許可するようなテキストボックスは
<TEXTAREA>...</TEXTAREA>
で生成する。おもな属性は,次のとおり。
属性 | 値 | 解説 |
---|---|---|
NAME | 文字列 | コントロールに与える,フォーム中で一意を保証された名前。 |
ROWS | 数値 | テキストボックスの行数。必須。 |
COLS | 数値 | テキストボックスの桁数。必須。 |
onFocus | スクリプト | コントロールがフォーカスを得たときに実行されるスクリプト。 |
onBlur | スクリプト | コントロールがフォーカスを失ったときに実行されるスクリプト。 |
onSelect | スクリプト | コントロール中のテキストが選択されたときに実行されるスクリプト。 |
onChange | スクリプト | コントロールの内容が変わったときに実行されるスクリプト。 |
<TEXTAREA> の内容となるのはタグ付けされていないテキストで(文字参照は構わない),テキストボックスの初期値になる。
<P>書き込んでみてください。
<TEXTAREA NAME="sample" COLS="60" ROWS="5">
Academic HTML
</TEXTAREA>
</P>
<INPUT> で TYPE 属性を submit,reset,button としてもそれぞれ役割に応じたボタンが生成されるが,これにさらに表現力と利便性を持たせたものが
<BUTTON>...</BUTTON>
である。内容としてとれるものはブロック要素,インライン要素だが,<A>,<FORM>,<FIELDSET> とフォームコントロールは含んではならない。
<INPUT> によるボタンは,VALUE 属性にボタンに書かれる文字列を与えていたが,<BUTTON> の場合その内容がボタン表面に表示される。したがって,画像などでも構わない。
属性を見ておこう。
属性 | 値 | 解説 |
---|---|---|
NAME | 文字列 | コントロールに与える,フォーム中で一意を保証された名前。 |
TYPE | キーワード | ボタンをどんな役割で動作させるかを指定する。 |
VALUE | 文字列 | ボタンが送信ボタンとして動作する場合,押されたとき渡す値。 |
onFocus | スクリプト | コントロールがフォーカスを得たときに実行されるスクリプト。 |
onBlur | スクリプト | コントロールがフォーカスを失ったときに実行されるスクリプト。 |
TYPE 属性のキーワードは以下のとおり。
このコントロールの動作は,対応する <INPUT> で生成されるボタンと同じである。
さきほど画像も表示できると述べたが,この場合,イメージマップを用いてはならない。それが 1 つのボタンとして動作するのだから,あるいは当然である。
<P>Push this button to submit the form:<BR>
<BUTTON NAME="submit1" TYPE="submit">
<IMG SRC="f_btnok.gif" ALT="OK" WIDTH="85" HEIGHT="50"> Next...
</BUTTON>
</P>
これを使うにあたって気をつけることは,HTML 3.2 では対応していないということである。
IE3,NN4 <BUTTON> は対応していない。
フォーム内には,フォームコントロールとして <OBJECT> で生成されるものが使われうる。ただし,そのコントロールがどのようなふるまいをするのかというのは,オブジェクト次第である。