HTML

form

初級

読み方:フォーム|英語:Form

入力欄やボタンをまとめるフォームの入れ物タグだよ。いつ使う? お問い合わせフォーム、ログイン画面、検索ボックスなど、ユーザーにデータを入力してもらうときに使うよ。<form>の中に<input>や<button>を入れるよ。間違いやすいポイント: <form>タグで囲まないとデータが送信できないよ。また、action属性(送信先URL)とmethod属性(GETかPOST)を指定し忘れると意図通りに動かないことがあるよ。

やさしい説明

form(フォーム)タグとは、ユーザーからの入力を受け付けて送信するための要素です。

学校のアンケート用紙をイメージしてください。名前を書く欄、選択肢にチェックする欄、最後に「提出」ボタンがありますよね。formタグはそのアンケート用紙全体を囲む枠のようなものです。

formの中にinput(入力欄)やbutton(ボタン)を配置します。ユーザーが入力して送信ボタンを押すと、データがサーバーに送られます。

ログイン画面、お問い合わせフォーム、検索バー——これらはすべてformタグで作られています。

図解:フォームの構造

formタグの中にlabel、input、buttonが配置される構造

具体例・使い方

<form action="/submit" method="post">
  <label for="name">名前</label>
  <input type="text" id="name" name="name">

  <label for="email">メール</label>
  <input type="email" id="email" name="email">

  <button type="submit">送信</button>
</form>

いつ使う?

お問い合わせページ、ログイン画面、アンケート、検索機能など、ユーザーに何かを入力してもらう場面で使います。

間違いやすいポイント

❌ formタグで囲み忘れる

inputやbuttonをformの外に書くと、送信ボタンを押してもデータが送られません。入力欄とボタンは必ずformの中に入れましょう。

❌ name属性を付け忘れる

inputにname属性がないと、サーバーにデータが届きません。name="email" のように必ず付けましょう。

よくある疑問

Q: formタグなしでinputを使える?

A: 表示はされますが、データの送信ができません。入力フォームにはformタグで囲みましょう。JavaScriptでfetch送信する場合は省略することもあります。

Q: GETとPOSTの違いは?

A: GETはURLにデータが表示される(検索向き)、POSTはURLに表示されない(パスワードなど秘密のデータ向き)。ログインフォームはPOSTを使いましょう。

Q: 送信ボタンを押してもページが移動しないようにするには?

A: JavaScriptでevent.preventDefault()を使います。フォームのsubmitイベントをキャッチして、ページ遷移を止めてからfetchでデータを送信します。

関連用語

📖 関連レッスン

レッスンを見る →

関連ブログ記事

⚠️ 関連するエラー

❓ 関連するQ&A