サーチエンジンでは,キーワードを入力して「検索開始」ボタンを押すと検索ができる。この「キーワードを入力」する部分と「検索開始」ボタンが「フォーム」の部品である。
CGI にデータを渡すときは,ただひとつのデータではなく複数のデータを同時に渡す(e.g. サーチエンジンの「検索語」と「検索条件」)ことが多い。また,フォームに書かれたデータがどのような動きをするのかを記述しなければならない。これは,
<FORM>〜</FORM> |
で行う。この中が CGI にデータを渡す一単位となり,書き込みのための部品などを配置していくことになる。属性については CGI の知識がないと多少つらいかもしれないが,とりあえず紹介しておく。
ACTION="..." | データを渡すべき URL。 |
METHOD="..." | ACTION 属性で指定した URL に対してどのような手段で働きかけるかを指定する。値は get または post で,規定値は get。 |
ENCTYPE="..." | サーバに渡されるデータの型。規定値は "application/x-www-form-urlencoded",つまり,URL のかたちで渡される。 |
フォームの要素は通常この中に記述し,一括してサーバに送られるが,HTML 3.2 の規格によればこれからあげる <INPUT>,<SELECT>,<TEXTAREA> はこれらの外に書いても構わないとなっている。この場合はデータはファイル内で,主にスクリプトによって処理されることになる。
Netscape Navigator 2.0/3.0 では,<FORM>〜</FORM> の外にフォームの要素を書いても認識されない。
フォームの部品は「ここに」の構造を持つ
<INPUT> |
がさまざまなものに利用できる。
<INPUT> の属性がこれらの性質を決めることになる。
TYPE="..." | 「どんなフォームの要素か」を指定する。上にあげた( )のキーワードで指定する。規定値は text。 |
NAME="..." | それぞれの部品に対する名前。TYPE 属性が submit,reset 以外は必須。 |
VALUE="..." | テキストボックスにあらかじめ入っている文字列やボタンのキャプション。checkbox,radio では必須。 |
CHECKED | checkbox,radio をチェック済みにする。 |
SIZE=... | それぞれの部品の大きさを指定する。 |
MAXLENGTH=... | text に対する入力可能な最大文字数。 |
SRC="..." | image に対する画像。 |
ALIGN="..." | 部品の配置。<IMG> と同じく,left,right,top,middle,bottom を指定。 |
次の Section では,このタグによって生成される実際のフォームの要素について見てみることにする。