HTMLフォームの使い方と入力項目の種類:text, checkbox, radio, password, fileなど

HTMLのフォームは、ウェブサイトやアプリケーションの入力項目を作成する上で欠かせない機能です。

この記事では、HTMLフォームの基本的な構成や入力項目の種類について解説し、それぞれの要素の使い方や属性、注意点について紹介しています。

テキスト入力項目やチェックボックス、ラジオボタン、ドロップダウンリストなど、実用的な入力項目の作成方法を理解することができます。

HTMLのフォームってどんな入力項目があるんですか?

テキスト入力項目やチェックボックス、ラジオボタン、ドロップダウンリスト、ファイル選択ボタン、数値や日付の入力欄など、さまざまな種類の入力項目があります。それぞれの要素には、使い方や属性、注意点がありますのでそれぞれ解説しましょう。

目次

フォームの構成と入力項目の種類

 HTMLのフォームは、Webページ上でユーザーが情報を入力し、それをWebサイトのサーバーに送信するための手段です。フォームは、input要素を使用して入力フィールドを作成します。 input要素には、type属性があり、フォームにどの種類の入力フィールドを作成するかを指定することができます。

フォームの構成要素

form要素

フォームの親要素として使用されます。 action属性とmethod属性を含むことができます。

input要素

フォーム内の入力フィールドを作成するために使用されます。 type属性によって、入力フィールドのタイプを指定することができます。以下に、よく使用される入力フィールドのタイプを示します。

  • text: 一行のテキスト入力フィールドを作成します。
  • password: パスワード入力フィールドを作成します。
  • radio: ラジオボタンを作成します。
  • checkbox: チェックボックスを作成します。
  • file: ファイルをアップロードするためのフィールドを作成します。
  • submit: フォームを送信するためのボタンを作成します。
  • reset: フォームの内容をリセットするためのボタンを作成します。

textarea要素

複数行のテキスト入力フィールドを作成するために使用されます。 rows属性とcols属性を使用して、テキストエリアのサイズを指定することができます。

select要素

ドロップダウンリストを作成するために使用されます。 option要素を使用して、リスト内の項目を作成することができます。

label要素

入力フィールドに関連するラベルを作成するために使用されます。 for属性を使用して、ラベルと入力フィールドを関連付けることができます。

入力項目の種類

テキスト入力フィールド

ユーザーが文字列を入力できるようにするために使用されます。例えば、名前、住所、メールアドレス、電話番号などを入力するために使用されます。

ラジオボタン

複数のオプションから1つを選択するために使用されます。ラジオボタンは、同じname属性を持つinput要素のグループとして定義されます。

チェックボックス

複数のオプションから1つ以上を選択するために使用されます。チェックボックスは、個々のinput要素として定義されます。

ドロップダウンリスト

複数のオプションから1つを選択するために使用されます。 select要素とoption要素を使用して定義されます。

ファイルアップロードフィールド

ユーザーがファイルを選択し、サーバーにアップロードするために使用されます。 input要素のtype属性にfileを指定して定義されます。

送信ボタン

フォームの内容をサーバーに送信するためのボタンです。 input要素のtype属性にsubmitを指定して定義されます。

リセットボタン

フォームの内容をリセットするためのボタンです。 input要素のtype属性にresetを指定して定義されます。

フォームの各入力項目は、name属性を持っています。 name属性は、フォームデータを送信する際に使用されます。また、各入力項目は、id属性を持っている場合があります。 id属性は、label要素との関連付けに使用されます。

フォーム内の各入力項目は、さまざまな属性を持つことができます。たとえば、required属性は、入力フィールドが必須であることを示します。 maxlength属性は、入力フィールドで許容される最大文字数を指定します。 autocomplete属性は、入力フィールドの自動補完機能を制御します。

フォームの内容をサーバーに送信するには、submitボタンをクリックする必要があります。フォームが送信された後、サーバーはフォームの内容を処理し、必要に応じて応答を生成します。通常、応答は、サーバーが受け取った情報を確認するために使用されます。フォームの送信先のURLは、form要素のaction属性で指定されます。フォームが使用するHTTPメソッドは、form要素のmethod属性で指定されます。最も一般的なHTTPメソッドは、GETとPOSTです。

フォーム要素の基本的な設定

HTMLのフォーム要素は、Webページ上でユーザーが情報を入力し、それをWebサイトのサーバーに送信するための手段です。フォーム要素には、フォームに関する情報を含む属性があります。以下では、フォーム要素の基本的な設定について説明します。

action属性

action属性は、フォームが送信された時にデータを送信するURLを指定します。通常、action属性には、WebアプリケーションサーバーのURLが指定されます。たとえば、以下のようになります。

<form action="http://example.com/submit-form">

method属性

method属性は、フォームが送信されるHTTPメソッドを指定します。最も一般的なHTTPメソッドは、GETとPOSTです。 GETメソッドは、フォームの内容をクエリ文字列に追加してURLに付加して送信されます。 POSTメソッドは、フォームの内容をHTTPリクエストの本文に含めて送信されます。

たとえば、以下のように指定することができます。

<form action="http://example.com/submit-form" method="POST">

name属性

name属性は、フォームの名前を指定します。この属性は、Webアプリケーションが複数のフォームを含む場合に、個々のフォームを区別するために使用されます。

たとえば、以下のように指定することができます。

<form action="http://example.com/submit-form" method="POST" name="contact-form">

enctype属性

enctype属性は、フォームで送信されるデータのエンコード方式を指定します。 enctype属性は、フォームがファイルをアップロードする場合に特に重要です。

たとえば、以下のように指定することができます。

<form action="http://example.com/submit-form" method="POST" enctype="multipart/form-data">

target属性

target属性は、フォームの送信先を指定します。この属性には、以下の2つの値があります。

  • _self: フォームが現在のページに送信されます。
  • _blank: フォームが新しいウィンドウまたはタブに送信されます。

たとえば、以下のように指定することができます。

<form action="http://example.com/submit-form" method="POST" target="_self">

入力チェックをするかどうか指定する:novalidate属性

HTMLのフォーム要素には、novalidate属性があります。この属性は、フォームの入力チェックを行わないようにするために使用されます。通常、ブラウザーはフォームを送信する前に入力値を検証しますが、novalidate属性を使用すると、ブラウザーは入力チェックを行わずにフォームを送信します。この属性は、フォームにJavaScriptを使用して独自の入力チェックを実装する場合に有用です。

novalidate属性は、以下のように指定します。

<form action="http://example.com/submit-form" method="POST" novalidate>

この属性を使用すると、ブラウザーはフォームの入力チェックを行わずに、フォームを送信します。フォームが送信された後、サーバーで入力チェックを実行することができます。

1行のテキスト入力項目を作る:text属性

HTMLのinput要素を使用して、フォーム内に1行のテキスト入力項目を作成することができます。この場合、input要素のtype属性にtextを指定します。

以下は、input要素を使用して1行のテキスト入力項目を作成するための例です。

<label for="name">名前:</label>
<input type="text" id="name" name="name">

この例では、label要素とinput要素を使用して、名前を入力するための1行のテキスト入力項目を作成しています。id属性は、input要素をラベル要素と関連付けるために使用され、name属性は、フォームデータを送信する際に使用されます。

type属性にtextを指定することで、ブラウザーは1行のテキスト入力フィールドを表示します。ユーザーは、このフィールドにテキストを入力することができます。また、maxlength属性を使用して、フィールドで入力可能な最大文字数を指定することができます。

<label for="name">名前:</label>
<input type="text" id="name" name="name" maxlength="50">

この例では、maxlength属性に50を指定して、50文字以内のテキストのみを入力可能にしています。

さらに、required属性を使用して、入力フィールドが必須であることを指定することもできます。これにより、ユーザーが入力フィールドを空白のままにしてフォームを送信しようとした場合に、ブラウザーがエラーメッセージを表示することができます。

<label for="name">名前:</label>
<input type="text" id="name" name="name" required>

この例では、required属性を使用して、名前入力フィールドが必須であることを指定しています。

以上が、HTMLのinput要素のtype属性にtextを指定して、1行のテキスト入力項目を作成する方法についての解説です。

チェックボックスを作る

HTMLのフォームにおいて、複数のオプションから複数の選択肢を選択するためには、チェックボックスを使用することができます。チェックボックスは、input要素のtype属性にcheckboxを指定して定義されます。以下は、チェックボックスを使用して、複数の選択肢を選択するための例です。

<fieldset>
  <legend>好きな果物を選択してください:</legend>
  <label><input type="checkbox" name="fruit" value="apple">りんご</label>
  <label><input type="checkbox" name="fruit" value="banana">バナナ</label>
  <label><input type="checkbox" name="fruit" value="orange">オレンジ</label>
</fieldset>

この例では、input要素のtype属性にcheckboxを指定して、3つのチェックボックスを作成しています。name属性は、フォームデータを送信する際に使用されます。同じname属性を持つすべてのチェックボックスは、グループとして扱われます。value属性は、各選択肢に関連付けられた値を指定します。

このようにチェックボックスを使用することで、ユーザーは複数の選択肢を選択することができます。選択された選択肢は、name属性の値とvalue属性の値をペアとしてフォームデータに送信されます。

また、各チェックボックスには、checked属性を使用して、初期状態で選択されている選択肢を指定することができます。checked属性には、空の値を指定することで、初期状態で選択されていない状態にすることもできます。

<fieldset>
  <legend>好きな果物を選択してください:</legend>
  <label><input type="checkbox" name="fruit" value="apple" checked>りんご</label>
  <label><input type="checkbox" name="fruit" value="banana">バナナ</label>
  <label><input type="checkbox" name="fruit" value="orange">オレンジ</label>
</fieldset>

この例では、最初のチェックボックスにchecked属性を指定して、初期状態でりんごが選択されている状態にしています。

ラジオボックスを作る

HTMLのフォームにおいて、複数の選択肢から1つだけ選択するためには、ラジオボタンを使用することができます。ラジオボタンは、input要素のtype属性にradioを指定して定義されます。以下は、ラジオボタンを使用して、複数の選択肢から1つだけ選択するための例です。

<fieldset>
  <legend>好きな果物を選択してください:</legend>
  <label><input type="radio" name="fruit" value="apple">りんご</label>
  <label><input type="radio" name="fruit" value="banana">バナナ</label>
  <label><input type="radio" name="fruit" value="orange">オレンジ</label>
</fieldset>

この例では、input要素のtype属性にradioを指定して、3つのラジオボタンを作成しています。name属性は、フォームデータを送信する際に使用されます。同じname属性を持つすべてのラジオボタンは、グループとして扱われます。value属性は、各選択肢に関連付けられた値を指定します。

このようにラジオボタンを使用することで、ユーザーは複数の選択肢から1つだけ選択することができます。選択された選択肢は、name属性の値とvalue属性の値をペアとしてフォームデータに送信されます。

また、各ラジオボタンには、checked属性を使用して、初期状態で選択されている選択肢を指定することができます。checked属性には、空の値を指定することで、初期状態で選択されていない状態にすることもできます。

<fieldset>
  <legend>好きな果物を選択してください:</legend>
  <label><input type="radio" name="fruit" value="apple" checked>りんご</label>
  <label><input type="radio" name="fruit" value="banana">バナナ</label>
  <label><input type="radio" name="fruit" value="orange">オレンジ</label>
</fieldset>

この例では、最初のラジオボタンにchecked属性を指定して、初期状態でりんごが選択されている状態にしています。

以上が、HTMLのフォームにおいて、ラジオボタンを使用して、複数の選択肢から1つだけ選択する方法についての解説です。

パスワードなどの入力内容が隠れる入力欄を作る

HTMLのフォームにおいて、パスワードなどの入力内容を隠したい場合には、パスワード入力欄を作成することができます。パスワード入力欄は、input要素のtype属性にpasswordを指定して定義されます。以下は、パスワード入力欄を作成するための例です。

<label for="password">パスワード:</label>
<input type="password" id="password" name="password">

この例では、input要素のtype属性にpasswordを指定して、パスワード入力欄を作成しています。name属性は、フォームデータを送信する際に使用されます。id属性は、ラベル要素と関連付けるために使用されます。

パスワード入力欄では、入力された文字が隠され、アスタリスク(*)やドット(•)などで置き換えられます。これにより、他の人がパスワードを盗み見ることを防ぐことができます。

また、パスワード入力欄には、maxlength属性を使用して、入力可能な最大文字数を指定することができます。

<label for="password">パスワード:</label>
<input type="password" id="password" name="password" maxlength="20">

この例では、maxlength属性に20を指定して、20文字以内のパスワードのみを入力可能にしています。

さらに、required属性を使用して、入力欄が必須であることを指定することもできます。これにより、ユーザーが入力欄を空白のままにしてフォームを送信しようとした場合に、ブラウザーがエラーメッセージを表示することができます。

<label for="password">パスワード:</label>
<input type="password" id="password" name="password" required>

この例では、required属性を使用して、パスワード入力欄が必須であることを指定しています。

ファイルを選択するボタンを作る

HTMLのフォームにおいて、ファイルを選択するためには、ファイル選択ボタンを作成することができます。ファイル選択ボタンは、input要素のtype属性にfileを指定して定義されます。以下は、ファイル選択ボタンを作成するための例です。

<label for="file">ファイルを選択してください:</label>
<input type="file" id="file" name="file">

この例では、input要素のtype属性にfileを指定して、ファイル選択ボタンを作成しています。name属性は、フォームデータを送信する際に使用されます。id属性は、ラベル要素と関連付けるために使用されます。

ファイル選択ボタンを使用すると、ユーザーはコンピューターからファイルを選択することができます。ファイル選択ボタンをクリックすると、ファイル選択ダイアログが表示され、ユーザーはコンピューター上のファイルを選択することができます。

ファイル選択ボタンには、accept属性を使用して、選択可能なファイルの種類を指定することができます。たとえば、画像ファイルのみを選択可能にする場合は、以下のように記述します。

<label for="file">画像ファイルを選択してください:</label>
<input type="file" id="file" name="file" accept="image/*">

さらに、required属性を使用して、ファイル選択が必須であることを指定することもできます。これにより、ユーザーがファイルを選択しないままフォームを送信しようとした場合に、ブラウザーがエラーメッセージを表示することができます。

<label for="file">ファイルを選択してください:</label>
<input type="file" id="file" name="file" required>

この例では、required属性を使用して、ファイル選択が必須であることを指定しています。

入力内容に応じた入力欄を作る

HTMLのフォームにおいて、入力内容に応じた入力欄を作成するために、以下のような属性を使用することができます。

電話番号入力欄を作る:tel属性

電話番号の入力に適した入力欄を作成するために、input要素のtype属性にtelを指定します。この属性を指定することで、携帯電話のキーボードに最適化された入力欄が表示されます。以下は、電話番号入力欄を作成するための例です。

<label for="tel">電話番号:</label>
<input type="tel" id="tel" name="tel">

この例では、input要素のtype属性にtelを指定して、電話番号入力欄を作成しています。name属性は、フォームデータを送信する際に使用されます。id属性は、ラベル要素と関連付けるために使用されます。

検索用入力欄を作る:search属性

検索に適した入力欄を作成するために、input要素のtype属性にsearchを指定します。この属性を指定することで、検索ボックスのような外観になります。以下は、検索用入力欄を作成するための例です。

<label for="search">検索:</label>
<input type="search" id="search" name="search">

この例では、input要素のtype属性にsearchを指定して、検索用入力欄を作成しています。name属性は、フォームデータを送信する際に使用されます。id属性は、ラベル要素と関連付けるために使用されます。

URL入力欄を作る:url属性

URLの入力に適した入力欄を作成するために、input要素のtype属性にurlを指定します。この属性を指定することで、URLの形式に合わせた入力欄が表示されます。以下は、URL入力欄を作成するための例です。

<label for="url">URL:</label>
<input type="url" id="url" name="url">

この例では、input要素のtype属性にurlを指定して、URL入力欄を作成しています。name属性は、フォームデータを送信する際に使用されます。id属性は、ラベル要素と関連付けるために使用されます。

メールアドレス入力欄を作る:email属性

メールアドレスの入力に適した入力欄を作成するために、input要素のtype属性にemailを指定します。この属性を指定することで、メールアドレスの形式に合わせた入力欄が表示されます。以下は、メールアドレス入力欄を作成するための例です。

<label for="email">メールアドレス:</label>
<input type="email" id="email" name="email">

この例では、input要素のtype属性にemailを指定して、メールアドレス入力欄を作成しています。name属性は、フォームデータを送信する際に使用されます。id属性は、ラベル要素と関連付けるために使用されます。

数値入力欄を作る:number属性

数値の入力に適した入力欄を作成するために、input要素のtype属性にnumberを指定します。この属性を指定することで、数字の入力に適した入力欄が表示されます。以下は、数値入力欄を作成するための例です。

<label for="number">数値:</label>
<input type="number" id="number" name="number">

この例では、input要素のtype属性にnumberを指定して、数値入力欄を作成しています。name属性は、フォームデータを送信する際に使用されます。id属性は、ラベル要素と関連付けるために使用されます。

数値入力欄では、min属性とmax属性を使用して、入力可能な最小値と最大値を指定することができます。さらに、step属性を使用して、数値の増加量を指定することもできます。

<label for="number">数値:</label>
<input type="number" id="number" name="number" min="0" max="100" step="10">

この例では、min属性に0を、max属性に100を、step属性に10を指定して、0から100までの数値を10単位で入力可能にしています。

スライダー入力欄を作る:range属性

数値の範囲をスライダーで選択できる入力欄を作成するために、input要素のtype属性にrangeを指定します。この属性を指定することで、スライダーのような外観になります。以下は、スライダー入力欄を作成するための例です。

<label for="range">スライダー:</label>
<input type="range" id="range" name="range" min="0" max="100" step="10">

この例では、input要素のtype属性にrangeを指定して、スライダー入力欄を作成しています。name属性は、フォームデータを送信する際に使用されます。id属性は、ラベル要素と関連付けるために使用されます。

スライダー入力欄では、min属性とmax属性を使用して、選択可能な数値の範囲を指定することができます。さらに、step属性を使用して、数値の増加量を指定することもできます。例えば、以下のように記述することで、0から100までの数値を10単位で選択可能にするスライダー入力欄を作成することができます。

<label for="range">スライダー:</label>
<input type="range" id="range" name="range" min="0" max="100" step="10">

この例では、min属性に0を、max属性に100を、step属性に10を指定して、0から100までの数値を10単位で選択可能にしています。

複数行の入力項目を作る

HTMLのフォームにおいて、複数行の入力項目を作成するために、textarea要素を使用することができます。

複数行のテキスト入力欄を作成するには、textarea要素を使用します。以下は、テキストエリアを作成するための例です。

<label for="message">メッセージ:</label>
<textarea id="message" name="message" rows="5" cols="30"></textarea>

この例では、textarea要素を使用して、メッセージ用のテキストエリアを作成しています。name属性は、フォームデータを送信する際に使用されます。id属性は、ラベル要素と関連付けるために使用されます。rows属性とcols属性は、テキストエリアの大きさを指定するために使用されます。

テキストエリアに初期値を設定する

テキストエリアに初期値を設定するには、textarea要素の間にテキストを挿入することができます。

<label for="message">メッセージ:</label>
<textarea id="message" name="message" rows="5" cols="30">初期値を設定します。</textarea>

この例では、textarea要素の間に「初期値を設定します。」というテキストを挿入して、テキストエリアに初期値を設定しています。

テキストエリアのサイズを固定する

テキストエリアのサイズを固定するには、cols属性とrows属性に固定値を設定します。

<label for="message">メッセージ:</label>
<textarea id="message" name="message" rows="5" cols="30"></textarea>

この例では、rows属性に5、cols属性に30という値を指定して、テキストエリアのサイズを固定しています。

テキストエリアのサイズを自動調整する

テキストエリアのサイズを自動調整するには、JavaScriptを使用する必要があります。JavaScriptを使用することで、テキストエリアの内容に合わせて自動的にサイズが調整されるようにすることができますが、ここでは割愛します。

ドロップダウンリストを作る

HTMLのフォームにおいて、ドロップダウンリストを作成するために、select要素とoption要素を使用します。

ドロップダウンリストを作成するには、select要素とoption要素を使用します。以下は、ドロップダウンリストを作成するための例です。

<label for="fruit">好きな果物:</label>
<select id="fruit" name="fruit">
  <option value="apple">りんご</option>
  <option value="orange">オレンジ</option>
  <option value="banana">バナナ</option>
  <option value="grape">ぶどう</option>
</select>

この例では、select要素を使用して、果物用のドロップダウンリストを作成しています。name属性は、フォームデータを送信する際に使用されます。id属性は、ラベル要素と関連付けるために使用されます。option要素は、ドロップダウンリストの選択肢を定義するために使用されます。value属性には、選択肢の値を指定します。option要素の間に記述されたテキストが、ドロップダウンリストに表示されます。

ドロップダウンリストの初期値を設定する

ドロップダウンリストの初期値を設定するには、selected属性を使用します。

<label for="fruit">好きな果物:</label>
<select id="fruit" name="fruit">
  <option value="apple">りんご</option>
  <option value="orange" selected>オレンジ</option>
  <option value="banana">バナナ</option>
  <option value="grape">ぶどう</option>
</select>

この例では、option要素にselected属性を指定して、初期値を「オレンジ」に設定しています。

ドロップダウンリストにグループを設定する

ドロップダウンリストにグループを設定するには、optgroup要素を使用します。

<label for="fruit">好きな果物:</label>
<select id="fruit" name="fruit">
  <optgroup label="赤い果物">
    <option value="apple">りんご</option>
    <option value="cherry">さくらんぼ</option>
    <option value="strawberry">いちご</option>
  </optgroup>
  <optgroup label="黄色い果物">
    <option value="banana">バナナ</option>
    <option value="lemon">レモン</option>
  </optgroup>
</select>

この例では、optgroup要素を使用して、赤い果物と黄色い果物の2つのグループを作成しています。optgroup要素のlabel属性には、グループのタイトルを指定します。

ドロップダウンリスト内を一覧表示する

ドロップダウンリスト内を一覧表示するには、select要素にsize属性を指定します。以下は、ドロップダウンリスト内を一覧表示するための例です。

<label for="fruit">好きな果物:</label>
<select id="fruit" name="fruit" size="4">
  <option value="apple">りんご</option>
  <option value="orange">オレンジ</option>
  <option value="banana">バナナ</option>
  <option value="grape">ぶどう</option>
</select>

この例では、select要素にsize属性を指定して、ドロップダウンリスト内を一覧表示するようにしています。size属性には、一覧表示する選択肢の数を指定します。この例では、4を指定しています。

ドロップダウンリストのスクロールバーを表示する

ドロップダウンリスト内を一覧表示する場合、スクロールバーが必要になることがあります。スクロールバーを表示するには、size属性とstyle属性を併用します。

<label for="fruit">好きな果物:</label>
<select id="fruit" name="fruit" size="4" style="overflow: auto;">
  <option value="apple">りんご</option>
  <option value="orange">オレンジ</option>
  <option value="banana">バナナ</option>
  <option value="grape">ぶどう</option>
</select>

この例では、style属性にoverflow: auto;を指定して、スクロールバーを表示しています。

非表示の項目を作る

HTMLのフォームにおいて、非表示の項目を作成するために、input要素のtype属性にhiddenを指定します。

非表示の項目を作成するには、input要素のtype属性にhiddenを指定します。以下は、非表示の項目を作成するための例です。

<input type="hidden" name="id" value="123">

この例では、input要素のtype属性にhiddenを指定して、id用の非表示の項目を作成しています。name属性は、フォームデータを送信する際に使用されます。value属性には、idの値を指定します。

非表示の項目は、ユーザーが入力することができないため、JavaScriptを使用して自動的に値を設定する場合などに使用されます。

入力内容をリセットするボタンを作る

HTMLのフォームにおいて、入力内容をリセットするためのボタンを作成するには、input要素のtype属性にresetを指定します。

入力内容をリセットするためのボタンを作成するには、input要素のtype属性にresetを指定します。以下は、入力内容をリセットするボタンを作成するための例です。

<input type="reset" value="リセット">

この例では、input要素のtype属性にresetを指定して、リセット用のボタンを作成しています。value属性には、ボタンに表示するテキストを指定します。

入力内容を送信するボタンを作る

HTMLのフォームにおいて、入力内容を送信するためのボタンを作成するには、input要素のtype属性にsubmitを指定します。

入力内容を送信するためのボタンを作成するには、input要素のtype属性にsubmitを指定します。以下は、入力内容を送信するボタンを作成するための例です。

<input type="submit" value="送信">

この例では、input要素のtype属性にsubmitを指定して、送信用のボタンを作成しています。value属性には、ボタンに表示するテキストを指定します。

フォーム部品の項目名を表す

HTMLのフォームにおいて、フォーム部品の項目名を表すために、label要素を使用します。

フォーム部品の項目名を表すには、label要素を使用します。以下は、フォーム部品の項目名を表すための例です。

<label for="name">名前:</label>
<input type="text" id="name" name="name">

この例では、label要素を使用して、名前用の項目名を表しています。for属性には、対象のフォーム部品のid属性の値を指定します。この例では、id属性が”name”となっているinput要素と関連付けています。

このように、label要素を使用することで、ユーザーがどの項目に入力する必要があるのかを明確にすることができます。また、項目名をクリックすることでも、フォーム部品を選択できるようになります。

label要素の位置

label要素は、フォーム部品の前に配置することもできますし、後ろに配置することもできます。前に配置する場合は、label要素に対応するフォーム部品がすぐにわかるため、ユーザーにとってわかりやすいと言えます。後ろに配置する場合は、フォーム部品と項目名の間にスペースを設けることができるため、レイアウトがきれいになる場合があります。

<!-- label要素を前に配置する場合 -->
<label for="name">名前:</label><input type="text" id="name" name="name">

<!-- label要素を後ろに配置する場合 -->
<input type="text" id="name" name="name"><label for="name">名前:</label>

複数のフォーム部品をまとめる:fieldset要素、legend要素

HTMLのフォームにおいて、複数のフォーム部品をまとめるために、fieldset要素とlegend要素を使用します。

複数のフォーム部品をまとめるために、fieldset要素とlegend要素を使用します。以下は、複数のフォーム部品をまとめるための例です。

<form action="submit.php" method="post">
  <fieldset>
    <legend>お問い合わせ</legend>
    <label for="name">名前:</label>
    <input type="text" id="name" name="name">
    <br>
    <label for="email">メールアドレス:</label>
    <input type="email" id="email" name="email">
    <br>
    <label for="message">お問い合わせ内容:</label>
    <textarea id="message" name="message"></textarea>
  </fieldset>
  <br>
  <input type="submit" value="送信">
</form>

この例では、fieldset要素でフォーム部品をグループ化しています。legend要素は、グループのタイトルを指定するために使用されます。この例では、「お問い合わせ」というタイトルを指定しています。

グループに含まれるフォーム部品は、fieldset要素内に配置されます。この例では、名前用のテキストボックス、メールアドレス用のテキストボックス、お問い合わせ内容用のテキストエリアをグループ化しています。

入力項目の自動補完

HTMLのフォームにおいて、入力項目の自動補完を有効にするには、input要素のautocomplete属性を使用します。

入力項目の自動補完を有効にするには、input要素のautocomplete属性を使用します。以下は、入力項目の自動補完を有効にするための例です。

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

この例では、input要素のautocomplete属性に、自動補完の種類を指定しています。name属性に対しては、”name”を、email属性に対しては、”email”を指定しています。

自動補完の種類

autocomplete属性に指定できる自動補完の種類には、以下のようなものがあります。

  • off: 自動補完をしない。
  • on: 自動補完を有効にする。デフォルト値。
  • name: 名前の入力欄で自動補完を有効にする。
  • email: メールアドレスの入力欄で自動補完を有効にする。
  • tel: 電話番号の入力欄で自動補完を有効にする。
  • address-line1: 住所の1行目の入力欄で自動補完を有効にする。
  • address-line2: 住所の2行目の入力欄で自動補完を有効にする。
  • address-level1: 地域(都道府県)の入力欄で自動補完を有効にする。
  • address-level2: 市区町村の入力欄で自動補完を有効にする。
  • address-level3: 町名・番地の入力欄で自動補完を有効にする。
  • country: 国の入力欄で自動補完を有効にする。
  • birthday: 生年月日の入力欄で自動補完を有効にする。
  • credit-card-number: クレジットカード番号の入力欄で自動補完を有効にする。
  • cvv: クレジットカードのセキュリティコードの入力欄で自動補完を有効にする。
  • transaction-currency: 通貨の入力欄で自動補完を有効にする。
  • transaction-amount: 金額の入力欄で自動補完を有効にする。

ユーザー定義のautocomplete属性を使用する

HTML5では、autocomplete属性の値として、ユーザー定義の文字列を使用することもできます。たとえば、”nickname”という値を指定することで、ニックネームの入力欄で自動補完を有効にすることができます。

また、autocomplete属性は、form要素に対しても指定することができます。form要素にautocomplete属性を指定することで、フォーム内のすべての入力欄に対して、一括で自動補完を有効にすることができます。

<form action="submit.php" method="post" autocomplete="on">
  <!-- 入力欄 -->
</form>

以上が、HTMLのフォームにおいて、入力項目の自動補完を有効にする方法です。ただし、ブラウザによっては、自動補完の挙動が異なる場合があるため、使用する際には注意が必要です。

送信時に入力されているかをチェックする

HTMLのフォームにおいて、送信時に入力されているかをチェックするために、required属性を使用します。

送信時に入力されているかをチェックするために、input要素やtextarea要素にrequired属性を指定します。以下は、required属性を使用して、名前とメールアドレスの入力欄が必須項目であることを指定する例です。

<form action="submit.php" 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>
  <input type="submit" value="送信">
</form>

この例では、input要素にrequired属性を指定しています。この属性を指定することで、入力欄に何も入力されていない場合、フォームが送信されず、エラーメッセージが表示されるようになります。

入力例を表示する:placeholder属性

HTMLのフォームにおいて、入力欄に入力例を表示するために、placeholder属性を使用します。

入力欄に入力例を表示するために、input要素やtextarea要素にplaceholder属性を指定します。以下は、placeholder属性を使用して、名前とメールアドレスの入力欄に入力例を表示する例です。

<form action="submit.php" method="post">
  <label for="name">名前:</label>
  <input type="text" id="name" name="name" placeholder="山田 太郎">
  <br>
  <label for="email">メールアドレス:</label>
  <input type="email" id="email" name="email" placeholder="example@example.com">
  <br>
  <input type="submit" value="送信">
</form>

この例では、input要素にplaceholder属性を指定しています。この属性を指定することで、入力欄に何も入力されていない場合、指定した入力例が表示されます。

数値の入力を制限する:min属性、max属性

HTMLのフォームにおいて、数値の入力を制限するために、min属性とmax属性を使用します。

数値の入力を制限するために、input要素のtype属性に”number”を指定し、min属性とmax属性を使用します。以下は、min属性とmax属性を使用して、年齢の入力欄に最小値と最大値を指定する例です。

<form action="submit.php" method="post">
  <label for="age">年齢:</label>
  <input type="number" id="age" name="age" min="0" max="120">
  <br>
  <input type="submit" value="送信">
</form>

この例では、input要素のtype属性に”number”を指定しています。この属性を指定することで、数値の入力欄になり、スピンボタンが表示されます。また、min属性に0、max属性に120を指定しています。これにより、年齢の入力欄には、0歳から120歳までの範囲の数値しか入力できなくなります。

min属性とmax属性の動作

min属性とmax属性を指定することで、入力欄に入力できる数値の範囲を制限することができます。ただし、これらの属性を指定した場合でも、ユーザーが直接入力した場合には制限が効かない場合があります。また、一部のブラウザでは、スピンボタンを非表示にすることもできます。

step属性

さらに、input要素にはstep属性もあります。step属性を指定することで、数値の増減幅を指定することができます。たとえば、step属性に0.5を指定すると、スピンボタンでの増減が0.5単位になります。step属性は、小数点以下の桁数を指定することもできます。

<label for="weight">体重:</label>
<input type="number" id="weight" name="weight" min="0" max="200" step="0.1">

以上が、HTMLのフォームにおいて、数値の入力を制限する方法です。min属性とmax属性を使用して、入力範囲を制限することで、入力内容の正確性を保証することができます。また、step属性を使用して、数値の増減幅を指定することもできます。

テキストの入力を制限する

HTMLのフォームにおいて、テキストの入力を制限するために、maxlength属性やpattern属性を使用することができます。

テキストの入力を制限するために、input要素のtype属性に”text”を指定し、maxlength属性やpattern属性を使用します。以下は、maxlength属性を使用して、名前の入力欄に文字数制限を設定する例です。

<form action="submit.php" method="post">
  <label for="name">名前:</label>
  <input type="text" id="name" name="name" maxlength="20">
  <br>
  <input type="submit" value="送信">
</form>

この例では、input要素のtype属性に”text”を指定しています。そして、maxlength属性に20を指定しています。これにより、名前の入力欄には、20文字以内の文字列しか入力できなくなります。

pattern属性

また、pattern属性を使用して、入力内容を正規表現で制限することもできます。たとえば、pattern属性を使用して、電話番号の入力欄に制限をかける例を示します。

<label for="tel">電話番号:</label>
<input type="tel" id="tel" name="tel" pattern="[0-9]{2,4}-[0-9]{2,4}-[0-9]{4}">

この例では、input要素のtype属性に”tel”を指定しています。そして、pattern属性に正規表現を指定しています。この正規表現は、ハイフンで区切られた2~4桁の数字が3つ続く文字列であることを指定しています。

ページを開いてすぐに入力できるようにする:autofocus属性

HTMLのフォームにおいて、ページを開いてすぐに入力できるようにするために、autofocus属性を使用します。

autofocus属性を使用することで、ページを開いたときに、指定した入力欄に自動的にフォーカスが当たるようになります。以下は、autofocus属性を使用して、名前の入力欄にフォーカスを当てる例です。

<form action="submit.php" method="post">
  <label for="name">名前:</label>
  <input type="text" id="name" name="name" autofocus>
  <br>
  <input type="submit" value="送信">
</form>

この例では、input要素にautofocus属性を指定しています。この属性を指定することで、ページを開いたときに、名前の入力欄にフォーカスが当たります。

テキストボックスで入力補完を表示する:datalist要素

HTMLのフォームにおいて、テキストボックスに入力補完を表示するために、datalist要素を使用することができます。

datalist要素を使用することで、テキストボックスに入力補完を表示することができます。以下は、datalist要素を使用して、果物の名前の入力欄に入力補完を表示する例です。

<form action="submit.php" method="post">
  <label for="fruit">好きな果物:</label>
  <input type="text" id="fruit" name="fruit" list="fruits">
  <datalist id="fruits">
    <option value="りんご">
    <option value="バナナ">
    <option value="みかん">
    <option value="グレープフルーツ">
    <option value="パイナップル">
  </datalist>
  <br>
  <input type="submit" value="送信">
</form>

この例では、input要素のtype属性に”text”を指定しています。そして、input要素にlist属性を指定して、datalist要素のid属性の値を指定しています。datalist要素内には、option要素を使用して、入力補完の候補となる項目を設定します。ここでは、果物の名前を設定しています。

ある範囲内での測定値を表示する:meter要素

HTMLのフォームにおいて、ある範囲内での測定値を視覚的に表現するために、meter要素を使用することができます。

meter要素を使用することで、ある範囲内での測定値を表示することができます。以下は、meter要素を使用して、熱帯夜の予想最高気温を表示する例です。

<p>今夜の予想最高気温は、<meter value="29" min="20" max="30">29℃</meter>です。</p>

この例では、meter要素を使用して、予想最高気温を表示しています。meter要素のvalue属性に29を指定しています。また、min属性に20、max属性に30を指定しています。これにより、最小値が20、最大値が30の範囲内での値であることがわかります。表示される値には、meter要素の開始タグと終了タグの間に記述されたテキストが表示されます。

meter要素の属性

meter要素には、以下のような属性があります。

  • value属性:表示する値を指定します。
  • min属性:値の最小値を指定します。
  • max属性:値の最大値を指定します。
  • low属性:低い方の境界値を指定します。
  • high属性:高い方の境界値を指定します。
  • optimum属性:理想的な値を指定します。

low属性、high属性、optimum属性を指定することで、測定値が境界値を超えたときに色を変えたり、スタイルを変更したりすることができます。

進捗状況を表示する:progress要素

HTMLのフォームにおいて、進捗状況を表示するために、progress要素を使用することができます。

progress要素を使用することで、進捗状況を表示することができます。以下は、progress要素を使用して、タスクの進捗状況を表示する例です。

<p>タスクの進捗状況:<progress value="70" max="100">70%</progress></p>

この例では、progress要素を使用して、タスクの進捗状況を表示しています。progress要素のvalue属性に70を指定しています。また、max属性に100を指定しています。これにより、最小値が0、最大値が100の範囲内での値であることがわかります。表示される値には、progress要素の開始タグと終了タグの間に記述されたテキストが表示されます。

progress要素の属性

progress要素には、以下のような属性があります。

  • value属性:表示する値を指定します。
  • max属性:値の最大値を指定します。

max属性には、進捗状況の最大値を指定します。value属性には、現在の進捗状況を指定します。これにより、進捗状況の割合を算出し、表示することができます。

リスキリングでキャリアアップしてみませんか?

リスキリング(学び直し)は、経済産業省が推奨しており、

今だけ、最大70%のキャッシュバックを受けることができます。

リスキリング 給付金が出るスクール紹介

最大70%の給付金が出るおすすめのプログラミングスクール!

国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!

興味のある方はすぐに確認しましょう。

まとめ

この記事では、HTMLフォームの基本的な構成や入力項目の種類について解説し、それぞれの要素の使い方や属性、注意点について紹介しました。また、入力内容のチェックや自動補完、進捗状況の表示など、より高度な使い方についても解説しました。

HTMLフォームを使いこなすことで、ウェブサイトやアプリケーションの入力項目をより使いやすく、ユーザーエクスペリエンスを向上させることができます。

HTMLフォームの作成方法がわかりやすく解説されていたので、とても勉強になりました。特に、入力項目の種類や属性について詳しく解説されていたのが良かったです。

HTMLフォームは、ウェブサイトやアプリケーションの入力項目を作成する上で欠かせない機能です。

また、フォームの作成にあたっては、ユーザーが使いやすいようにデザインすることが大切です。フォームのデザインやレイアウトにも注意して、ユーザーにとって使いやすいフォームを作成していきましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次