フォーム関連の要素 0:14
HTMLでは、ユーザーが入力したテキストや選択した項目を送信することが出来ます。
今回は、お問い合わせフォームのような入力フォームを作成してみましょう。
ただし、HTMLでは送信した情報を受け取ることが出来ないので、情報を受け取るには「PHP (Webサーバーで実行するプログラミング言語)」などのプログラミング言語が必要となることを知っておきましょう。
要素名 | 意味・役割 |
---|---|
form |
フォームを表す |
input |
フォームの部品を表す |
textarea |
複数行のテキストフィールドを表す |
select |
セレクトボックスを表す |
option |
セレクトボックスの選択肢を表す |
フォーム全体を、<form>
タグで囲む
1:26
form
要素は、
ユーザーが入力するフィールドや選択する項目など、フォームで使う部品は全てこのform
要素内に配置することが基本となります。
なお、このform
要素には、action
属性を使って、フォームの送信先を指定します。
form
要素の使い方
form
要素は、フォーム全体を<form>
〜 </form>
で囲みます。
そして、action
属性で、送信先、method
属性で、送信方法を、「get
」または、「post
」で指定します。
(method
属性を省略した場合は、初期値の「get
」になります。)
フォームを作る際は、このようにフォーム全体をform
要素で囲みます。
form
要素には、action
属性で、ユーザーが入力したデータの送信先をパスで指定します(action
属性の値を空にした場合や action
属性自体を省略した場合は、そのファイル自身に送信)。
また、データを送信する方法は、"get"(初期値) と "post"があります。これらには以下の違いがありますが、今のタイミングでは少々難しいので、とりあえず、サイト内検索のような検索キーワードを入力するフォームは、"get"、個人情報などを送信する入力フォームは、"post"と覚えておきましょう。
詳しくは、PHPなどのプログラミング言語を学習するタイミングで理解すれば大丈夫です。
- "get"
- URLの後ろにデータを付けて送信する方法 (初期値)
- "post"
- HTTPリクエストのボディ部分にデータを付けて(ブラウザがWebサーバにaction属性で指定したファイルを要求する時の内容として)送信する方法
フォームの部品は、<input>
タグで作る。
7:14
要素は、コントロール部品を表示したいとこに、<input>
要素は、フォームの部品を表します。
ユーザーがテキストを入力するテキストフィールドや、項目を選択する部品、送信ボタンなどをこのinput
要素こので生成します。
どの部品にするかは、type
属性で指定します。
- カテゴリ
-
- フロー・コンテンツ
- フレージング・コンテンツ
- インタラクティブ・コンテンツ
(type
属性の値が "hidden" 以外の場合)
- コンテンツ・モデル
- 空要素
- 主な属性
input
要素の使い方
input
要素は、コントロール部品を表示したいとこに、<input>
タグを使って配置します。
そして、type
属性で、部品の種類を指定します。
type
属性に指定できる主な属性値は、以下のとおりです。
属性値 | 部品の種類 |
---|---|
text |
1行分のテキストフィールド |
password |
1行分のパスワードフィールド (表示上は「●」などで隠される) |
radio |
ラジオボタン (複数選択できない選択部品) |
checkbox |
チェックボックス (複数選択可能な選択部品) |
file |
ファイル送信用ボタン |
image |
画像を使った送信ボタン |
submit |
送信ボタン |
reset |
リセットボタン |
button |
汎用ボタン |
name
属性は、部品の名前を指定します。
この名前はユーザーが送信した値を取り出すときに必要になります。
また、value
属性については、type
属性が "text"などの入力フィールドの場合には、初期値を指定することができ、"radio" や "checkbox"などの選択部品の場合には、送信されるデータを指定します。 "submit" や "reset" などのボタンの場合は、ボタンの上に表示される文字を指定します。
テキストフィールドのサンプル
type
属性が "text" や "password"などのテキストフィールドの場合は上記のようになります。
name
属性は、ユーザーに問い掛けた質問を英語で指定することが一般的です。
ボタンのサンプル
type
属性が "submit" や "reset"などのボタンの場合は上記のようになります。
ボタンの上に表示する文字列はvalue
属性で指定します。
選択部品のサンプル
type
属性が "radio" や "checkbox"などの選択部品の場合は上記のようになります。
これらの選択部品には必ずvalue
属性を指定しましょう。
この属性値が選択時に送信されるデータになります。
また、name
属性は、各選択肢で同じ値にするようにしましょう。
HTML5では type
属性の属性値が増えた!
HTML5からはtype
属性に下記の属性値が追加されました。
ただし、ブラウザによって実装状況などが異なるため、これらの属性値を利用する場合は、予め対応するブラウザで実装可能かを確認してから利用するようにしましょう。
属性値 | 部品の種類 |
---|---|
search |
1行分の検索フィールド |
tel |
1行分の電話番号フィールド |
url |
1行分のURLフィールド |
email |
1行分のメールアドレスフィールド |
datetime |
日時入力用部品 (タイムゾーンあり) |
datetime-local |
日時入力用部品 (タイムゾーンなし) |
date |
年月日入力用部品 |
month |
年月入力用部品 |
week |
年週入力用部品 |
time |
時刻入力用部品 |
number |
数値入力用部品 |
range |
スライド型入力部品 |
color |
色入力用部品 |
form
要素とinput
要素を使ってみよう
14:57
それでは、form
要素、input
要素を使ってフォームを作ってみましょう。
- 「Chapter16」フォルダ内の「index.html」をテキストエディタで開く
-
下記を参考に、
form
要素とinput
要素をマークアップ
- 上書き保存し、ブラウザで確認
複数行入力するには、textarea
要素
32:42
要素は、複数行の入力フィールドであることを表します。
上記で紹介したinput
要素のテキストフィールドは全て1行分の入力フィールドになります。
複数行文字を入力するには、このtextarea
要素を使います。
textarea
要素は、input
と違いが終了タグが必要となります。
もし、要素内に文字列を配置すると、その文字がテキストエリアの初期値になります。
- カテゴリ
- コンテンツ・モデル
- テキストのみ
- 主な属性
textarea
要素の使い方
textarea
要素は、複数行入力できるフィールドを表示したい場所に配置します
textarea
要素は、このように、基本は要素内に何も配置せずに利用します。
もし、要素内にテキストを配置した場合は、そのテキストが初期値となります。
なお、このtextarea
要素にもname
属性を使って部品の名前を指定することを忘れないようにしましょう。
また、1行あたりに表示するおおよその文字数を半角で
属性に指定し、表示する行数を
属性に指定します。
textarea
要素を使ってみよう
36:59
それでは、textarea
要素を使ってみましょう。
- 「Chapter16」フォルダ内の「index.html」をテキストエディタで開く
-
下記を参考に、「メッセージ」の項目を追加し、
textarea
要素をマークアップ
- 上書き保存し、ブラウザで確認
選択メニューは、select
要素で囲む。
40:09
要素は、セレクトボックスであることを表す要素です。
セレクトボックスは、都道府県などの選択によく使う、選択メニューのことです。
セレクトボックス全体をこのselect
要素で囲み、各選択肢は、あとで紹介するoption
要素を使って表します。
- カテゴリ
- コンテンツ・モデル
-
0 個以上の
<option>
要素、または<optgroup>
要素 - 主な属性
-
name
属性: セレクトボックスの名前を指定するsize
属性: 1度に見れる項目の数を指定する (リストボックスになる)multiple
属性: 複数の項目を選択できるようにする
select
要素の使い方
select
要素は、セレクトボックスの選択肢たちを、<select>
〜 </select>
で挟みます。
そして、name
属性で、部品の名前を指定します。
select
要素は、このように選択肢全体を囲みます。
そして各選択肢は、option
要素でマークアップします。
選択メニューの選択肢は、option
要素で作る。
41:27
要素は、セレクトボックスの選択肢であることを表します。
- カテゴリ
- なし
- コンテンツ・モデル
- 主な属性
-
label
属性: 選択肢のラベルを指定するvalue
属性: 送信する値を指定するselected
属性: 予め選択状態にする
option
要素の使い方
option
要素は、セレクトボックスの選択肢を、<option>
〜 </option>
で挟みます。
そして、value
属性で、送信する値を指定します。
option
要素は、このように各選択肢を囲みます。
送信するデータは、value
属性に指定し、ユーザーが選択する為のラベルは、要素内容として記述します。
セレクトボックスを使ってみよう 42:55
それでは、select
要素、option
要素をでセレクトボックス作ってみましょう。
- 「Chapter16」フォルダ内の「index.html」をテキストエディタで開く
-
下記を参考に、「希望する職種」の項目を追加し、
select
要素、option
要素をマークアップ
- 上書き保存し、ブラウザで確認
練習問題 47:04
「Chapter16」 -> 「quest」フォルダ内の「index.html」を開いて下記の問題を解いてみましょう。
なお、解けた問題は問題文の横のチェックボックスをオンにしましょう。
-
- フォームの送信先: "receive.html"
- 送信方法: "post"
-
- 文字列「お名前」
- 種類: 1行分のテキストフィールド
- 部品の名前: "your_name"
- 文字列「メールアドレス」
- 種類: 1行分のメールアドレスフィールド
- 部品の名前: "your_mail"
- 文字列「お名前」
-
- 文字列「お問い合わせ店舗」
- 種類: ラジオボタン
- 部品の名前: "shop"
- 送信するデータ: ラベルと同じ
- 文字列「お問い合わせ店舗」
-
- 文字列「お問い合わせ種別」
- セレクトボックスの名前: "type"
- 送信するデータ: ラベルと同じ
- 文字列「お問い合わせ種別」
-
- 文字列「お問い合わせ内容」
- テキストエリアの名前: "inquiry"
- 1行あたりに表示する文字数: "30"
- 表示する行数: "10"
- 文字列「お問い合わせ内容」
-
- 文字列「入力確認画面へ」
- 種類: 送信ボタン
- 送信ボタンの文字: "入力確認画面へ"
- 文字列「入力確認画面へ」
まとめ 59:25
フォームの作成方法はわかりましたか?
form
要素でフォーム全体を囲むinput
、textarea
、select
要素でコントロール部品を作成する- HTMLでデータの送信はできるが受信は出来ない。