ITコース HTML基礎 013_フォームとユーザー入力
フォーム
HTML フォーム(Form)は HTML の非常に重要な部分で、ユーザーが Web ページで情報を入力し、サーバーに送信することを可能にします。
例:
<form action="/submit" method="post"> <!-- フォーム要素はここに配置 --></form><form> 要素はユーザーがデータを入力する領域を定義し、テキストエリア <textarea>、ドロップダウンリスト <select>、ラジオボタン <radio>、チェックボックス <checkbox>、ボタン <button> など、さまざまな種類の入力要素を含めることができます。
フォーム属性:
action:フォームデータがサーバーに送信された後の処理ファイルの URL を定義します。method:データをサーバーに送信する際に使用する HTTP メソッドを定義します。一般的な値は “get” と “post” です。name:フォームの名前を指定するために使用します。フォーム名はフォームを識別し、サーバー側でフォームデータを処理する際に使用されます。enctype:フォームデータのエンコード方式を指定するために使用します。フォームデータはapplication/x-www-form-urlencodedまたはmultipart/form-dataエンコード方式を使用できます。autocomplete:フォームの自動補完機能を有効にするかどうかを指定するために使用します。onに設定すると、ブラウザは以前にフォームに入力したデータを自動的に入力します。novalidate:フォームデータを検証するかどうかを指定するために使用します。onに設定すると、フォームデータは送信前に検証されません。
[!まとめ]
- form フォーム自体は表示されません。
テキストフィールド
フォームでは、ユーザーに文字、数字などのテキストコンテンツを入力してもらう必要がよくあります。これは <input> 要素の type 属性を “text” に設定することで実現できます。
例:
<form>名前: <input type="text" name="name"><br>年齢: <input type="text" name="age"></form>効果:

[!まとめ]
- ほとんどのブラウザでは、テキストフィールドのデフォルト幅は 20 文字です。
パスワードフィールド
ユーザーにパスワードを入力してもらう必要がある場合は、<input> 要素の type 属性を “password” に設定すると、入力内容が非表示になります。
例:
<form>パスワード: <input type="password" name="pwd"></form>効果:

[!まとめ]
- パスワードフィールドの文字はプレーンテキストでは表示されず、アスタリスク * またはドット . で置き換えられます。
ラジオボタン(Radio Buttons)
ラジオボタンとチェックボックスを使用すると、ユーザーは複数の選択肢から 1 つまたは複数を選択できます。ラジオボタンの type 属性値は “radio” です。
例:
<form action="">性別:<input type="radio" name="sex" value="male" checked>男性<input type="radio" name="sex" value="female">女性</form>効果:

[!まとめ]
- ラジオボタンの
name属性値は同じでなければなりません。そうでないと、同じグループに属しません。checked属性は、ラジオボタンがデフォルトで選択されているかどうかを指定するために使用します。
チェックボックス(Checkboxes)
チェックボックスは 1 つまたは複数のオプションを選択でき、<input type="checkbox"> を使用して定義します。
例:
<form> 使用したことのあるアプリ: <input type="checkbox" name="app" value="jd">JD <input type="checkbox" name="app" value="wechat">WeChat <input type="checkbox" name="app" value="qq">QQ <input type="checkbox" name="app" value="douyin">TikTok</form>効果:

[!まとめ]
checked属性は、チェックボックスがデフォルトで選択されているかどうかを指定するために使用します。
ドロップダウンリスト(select)
ドロップダウンリストを使用すると、ユーザーは複数の選択肢から 1 つを選択できます。<select> 要素で作成し、<option> 要素でオプションを定義します。
例:
<form action=""> 国を選択してください: <select name="country"> <option value="china">中国</option> <option value="us">アメリカ</option> <option value="japan">日本</option> </select></form>効果:

[!まとめ]
selected属性は、ドロップダウンリストのデフォルトオプションを指定するために使用します。disabled属性は、ドロップダウンリストが使用可能かどうかを指定するために使用します。size属性を使用して、ドロップダウンリストで表示されるオプションの数を指定できます。
送信ボタン(Submit、Reset、Button)
フォームには通常、ユーザーの入力を送信または確認するためのボタンが必要です。submit、reset、button はすべて HTML のフォームボタン要素です。
| タイプ | 属性 | 機能 | 使用シーン |
|---|---|---|---|
| submit | type="submit" | フォームデータの送信 | ログインフォームの送信、登録フォームの送信など |
| reset | type="reset" | フォームデータのリセット | 検索フォームのリセット、ショッピングカートのリセットなど |
| button | type="button" | なし | 通常は JavaScript と組み合わせて使用し、操作の実行、ページ遷移など |
| image | type="image" | 画像をボタンとして使用 | 操作の実行、ページ遷移など |
例:
<form action="/submit" method="post"> <input type="submit" value="送信ボタン"> <input type="reset" value="リセットボタン"> <button type="button" value="確認ボタン">確認ボタン</button> <input type="image" src="[zhaojian-avatar.png (1332×1332)](https://www.zhaojian.net/images/zhaojian-avatar.png)" alt="画像ボタン" width="50" height="50"></form>効果:

[!まとめ]
- post:HTTP POST メソッドを指し、フォームデータはフォーム本文に含まれてサーバーに送信されます。ユーザー名やパスワードなどの機密データの送信に使用されます。
- get:デフォルト値で、HTTP GET メソッドを指します。フォームデータは action 属性の URL に ? を区切り文字として追加され、一般的にページネーションなどの機密性のない情報に使用されます。例:https://www.zhaojian.net/?page=1、ここで page=1 は get メソッドで送信されたデータです。
フォーム要素と属性
| 要素 | タイプ | 説明 | 属性 |
|---|---|---|---|
form | フォーム | フォームのコンテナ要素。フォームの名前、送信方法、送信先を指定します。 | name、action、method、enctype、accept-charset、target、autocomplete、novalidate |
input | 入力 | フォームで最も一般的に使用される要素。テキスト、数字、日付など、さまざまな種類のユーザー入力を受け付けることができます。 | type、name、value、placeholder、disabled、readonly、autocomplete、required、pattern、min、max、step |
textarea | 入力 | 複数行のユーザー入力を受け付けるために使用します。 | name、cols、rows |
select | 選択 | ユーザーの選択を受け付けるために使用し、複数のオプションを含めることができます。 | name、multiple、size |
option | 選択 | select 要素内で使用し、選択可能なオプションを定義します。 | value、selected |
radio | 選択 | 単一選択のユーザー入力を受け付けるために使用します。複数のラジオボタンを含めることができます。 | name、value、checked |
checkbox | 選択 | 複数選択のユーザー入力を受け付けるために使用します。複数のチェックボックスを含めることができます。 | name、value、checked |
submit | ボタン | フォームを送信するために使用します。 | value |
reset | ボタン | フォームをリセットするために使用します。 | value |
button | ボタン | ボタンを作成するために使用します。フォームの送信、リセット、その他の操作の実行に使用できます。 | type、name、value |
label | ラベル | 入力要素にラベルを提供するために使用します。ラベルはユーザーが入力要素の目的を理解するのに役立ちます。 | for |
fieldset | グループ化 | フォーム要素をグループ化するために使用します。 | name、legend |
legend | タイトル | fieldset 要素にタイトルを提供するために使用します。 | |
optgroup | グループ化 | オプションをグループ化するために使用します。 | label |