formタグの使い方と入力フォームの作成方法をわかりやすく解説

スポンサーリンク
スポンサーリンク

formの概要

ユーザー入力を送信するフォームを作成 HTMLタグ

<form>フォームの内容</form>

概要 formタグは、ユーザーからの入力データを受け取り、サーバーに送信するためのフォームを作成するタグです。

  • フォーム内には、入力フィールド(input、textarea、selectなど)を配置できる。
  • 送信ボタンを使用して、入力データをサーバーへ送信する。
  • method属性で「GET」または「POST」の送信方法を指定できる。

formタグの主な属性

属性 説明 使用例
action データを送信するURLを指定 <form action="/submit">
method データの送信方法を指定(GETまたはPOST) <form method="post">
enctype データのエンコード方式を指定(ファイルアップロード時に使用) <form enctype="multipart/form-data">
autocomplete ブラウザの自動補完を有効/無効にする <form autocomplete="off">
target 送信先を指定(例:_blankで新しいタブで開く) <form target="_blank">
novalidate ブラウザの入力チェックを無効化 <form novalidate>

formタグの基本的な使い方

以下の例では、名前とメールアドレスを入力し、送信するシンプルなフォームを作成しています。

<form action="/submit" method="post">
    <label for="name">名前:</label>
    <input type="text" id="name" name="name" required>
    <br>
    <label for="email">メールアドレス:</label>
    <input type="email" id="email" name="email" required>
    <br>
    <button type="submit">送信</button>
</form>

実行例:



formタグの応用:ファイルアップロード

ファイルをアップロードする場合は、enctype="multipart/form-data" を指定する必要があります。

<form action="/upload" method="post" enctype="multipart/form-data">
    <label for="file">ファイルを選択:</label>
    <input type="file" id="file" name="file">
    <br>
    <button type="submit">アップロード</button>
</form>

実行例:


formタグの応用:検索フォーム

以下の例では、ユーザーが検索キーワードを入力できる検索フォームを作成しています。

<form action="/search" method="get">
    <input type="text" name="query" placeholder="検索キーワードを入力">
    <button type="submit">検索</button>
</form>

実行例:

注意事項

  • フォームの送信先(action属性)が未指定の場合、現在のページにデータが送信される。
  • GETメソッドはURLにデータを含めるため、機密情報の送信には適さない。
  • POSTメソッドはデータをリクエストボディに含めるため、安全な送信が可能。
  • 入力必須項目にはrequired属性を使用し、ブラウザの入力チェックを活用する。
  • スタイルを整えるために、CSSを使用してデザインをカスタマイズできる。

よくある質問

Q: formタグは何のために使われますか?
A: ユーザーが入力したデータをサーバーに送信するために使用されます。
Q: GETとPOSTの違いは何ですか?
A: GETはデータをURLに付加して送信し、POSTはデータをリクエストボディに含めて送信します。機密データの送信にはPOSTを推奨します。
Q: フォームの送信ボタンをカスタマイズできますか?
A: はい、CSSを使用してボタンのデザインを変更できます。
Q: フォームをJavaScriptで非同期送信できますか?
A: はい、JavaScriptのfetch APIやAjaxを使用すると、ページ遷移なしにデータを送信できます。
Q: formタグのnovalidate属性は何のために使われますか?
A: ブラウザの入力チェックを無効化するために使用します。サーバー側でバリデーションを行う場合に便利です。

まとめ

  • formタグは、ユーザー入力を受け取ってサーバーに送信するために使用する。
  • action属性で送信先を指定し、method属性でデータ送信方法を選択する。
  • 入力フィールドにはinputtextareaselectなどを配置できる。
  • バリデーションを活用することで、ユーザーの入力ミスを防ぐことができる。
  • JavaScriptと組み合わせて非同期通信(AJAX)を実装できる。