フォームとは,ブラウザからサーバに対して情報の受け渡すことを目的としたHTMLの機能です。静的なHTMLファイルとして記述する時には,<form>~</form>
の中に,次のような入力用の項目を入れ込んで構築していきます。
上記のフォームに内容を記入・選択して「送信する」ボタンをクリックすると,form
タグのaction
属性に指定したURLに,このフォーム内で使用されるinput
タグの記述内容がまとめて送信されます。
フォーム内で使用されるinput
タグは,必ずしもform
タグ内で使用する必要はなく,独立して使用することも可能です。その場合,入力値をサーバに渡す時にはJavaScript(AJAXなど)を用いてinputタグごとに渡し方を記述しなければなりません。
<form ... > ... </form>
get
(大文字も可),もしくはpost
を入力します。GETメソッドはURLに'変数名(name属性で指定) = 値
'という形で表現され,POSTメソッドは環境変数を通じて変数名と値がサーバに渡されます。下記の動作例で確認して下さい。
<input ... />
フォーム内に記述する入力用のinput要素には次の属性を指定します。
入力内容に対してアクションを起こすためのボタンとして使います。属性値type="値"
を設定してボタンの用途を決定します。
type="submit"
type="reset"
inputタグを使わない入力要素としては下記のものがあります。inputタグとは異なる属性値を使用する場合があります。
テキストエリアの入力方式を使うことができます。
ファイルメニューの入力方式を使うことができ,メニュー欄を作成する際にはoption要素が必要となります。
以下では今後使用する機会の多いform要素内の入力用要素の具体例を見ていくことにしましょう。入力用要素はformタグに囲まれていなくても表示できますが,そのままでは入力された値を送信することはできません。下記の例は説明のため,form要素はカットしてあります。
<input type="text" ... />
短い分を入力する基本的な形式で,type
を省略することも可能です。
type="text"
:テキストボックス形式であることを示すname
:送信の目印となる名前を決めるvalue
:初期入力値を設定するsize
:テキストボックスの表示サイズを設定するmaxlength
:入力最大文字数を設定する<input type="password" ... />
基本的にはテキストボックスと同じ機能を持ちますが,入力された文字列を隠すことができます。
<input type="button" ... />
送信(submit),リセット(reset)とも異なる,単なるボタンです。
<input type="radio" ... />
選択肢を一つだけ選んでほしい時に使用します。
type="radio"
:ラジオボタン形式であることを示すname
:送信の目印となる名前を決めるvalue
:入力値を設定する(画面表示はされません)checked
: 最初から選択された状態にする
Sample01
Sample02
<input type="checkbox" ... />
チェックをした複数の内容を送信することができます。
type="checkbox"
:チェックボックス形式であることを示すname
:送信の目印となる名前を決めるvalue
:入力値を設定する(画面表示はされません)checked
:最初から選択された状態にするHTMLファイル
<select ... > ~<option ... >~</option> ~ </select>
ドロップダウンリストの中に示した選択肢から一つあるいは複数選ばせる際に使用します。
select
(囲まれた要素全体がリストボックスの内容になる)
name
:送信の目印となる名前を決めるoption
(ドロップダウンされる1項目を作る)
value
:入力値を設定HTMLファイル
<input type="file" ... />
ローカルの既存ファイルを選択し,選択したファイルを送信することができるようにするメニューです。ファイルメニューを使う際は,form要素にenctype
属性を必ず指定する必要があります。
enctype="multipart/form-data"
:ファイルを送信する際には必ず必要な属性type="file"
:ファイルを選択し,送信することができるようにする/li>
name
:送信の目印となる名前を決めるsize
:フォームのサイズを指定するHTMLファイル
<textarea ...>~</textarea>
縦方向(rows
)と横方向(cols
)をそれぞれ指定して長文を入力できるようにしたテキストボックスです。初期入力値を設定する場合は,
name=""
:送信の目印となる名前を決めるcols=""
:属性値に数字を入れることでエリアの横の長さを決めるrows=""
:属性値に数字を入れることでエリアの縦の長さを決めるHTMLファイル