サイトアイコン WEBデザインMATOME

フォーム要素 formタグとその属性

フォームタグ <form> の概要

定義

<form> タグは、ユーザーからデータを収集するためのフォームを作成するために使用されます。
フォームは、入力フィールド、ボタン、およびその他のフォーム要素を含むことができます。

役割

ユーザーからのデータをサーバーに送信するためのインターフェースを提供します。

<form> タグの基本構造

フォームは、<form> タグで囲むことで定義され、その内部にさまざまな入力要素が配置されます。

<form action="送信先のURL" method="送信方法">
    <!-- フォーム要素がここに入る -->
</form>

フォームタグの主要属性

action 属性

定義

フォームが送信されたときにデータが送信されるURLを指定します。

役割

データを処理するサーバースクリプトの場所を指定します。

<form action="submit_form.php" method="post">

method 属性

定義

フォームデータを送信する方法を指定します。
主に get または post が使用されます。

get

URLにデータを付加して送信します。
データはURLに表示されるため、セキュリティが低く、少量のデータ送信に適しています。

post

データをリクエストの本文に含めて送信します。
データがURLに表示されないため、セキュリティが高く、
大量のデータ送信や機密データの送信に適しています。

役割

データの送信方法を決定します。

<form action="submit_form.php" method="post">

enctype 属性

定義

フォームデータのエンコーディングタイプを指定します。
特にファイルのアップロードを行う場合に使用します。

application/x-www-form-urlencoded

デフォルトのエンコーディングタイプで、ほとんどのフォームで使用されます。

multipart/form-data

ファイルアップロードを含むフォームで使用されます。

text/plain

テキストのみを送信する場合に使用されますが、一般的ではありません。

役割

データのエンコード方法を指定します。

<form action="submit_form.php" method="post" enctype="multipart/form-data">

target 属性

定義

フォームの送信先のウィンドウやフレームを指定します。

役割

フォームの送信先ウィンドウやフレームを指定します。

<form action="submit_form.php" method="post" target="_blank">

autocomplete 属性

定義

ブラウザがフォームの自動補完機能を使用するかどうかを指定します。

役割

自動補完の有効/無効を制御します。

<form action="submit_form.php" method="post" autocomplete="off">

novalidate 属性

定義

フォームの送信時にHTML5のバリデーションを無効にします。

役割

ブラウザによるフォーム入力の検証を無効にします。

<form action="submit_form.php" method="post" novalidate>

フォームの基本的な使い方

基本的なフォームの例

以下は、名前、メールアドレス、メッセージを入力する基本的なフォームの例です。

<!DOCTYPE html>
<html>
<head>
    <title>基本的なフォームの例</title>
</head>
<body>
    <h1>お問い合わせフォーム</h1>
    <form action="submit_form.php" method="post">
        <label for="name">名前:</label><br>
        <input type="text" id="name" name="name"><br><br>

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

        <label for="message">メッセージ:</label><br>
        <textarea id="message" name="message" rows="4" cols="50"></textarea><br><br>

        <input type="submit" value="送信">
    </form>
</body>
</html>

フォームのスタイリング

CSSによるスタイリング

フォームの外観をCSSでカスタマイズすることで、より魅力的なデザインにすることができます。

<!DOCTYPE html>
<html>
<head>
    <style>
        form {
            width: 300px;
            margin: 0 auto;
            padding: 20px;
            border: 1px solid #ccc;
            border-radius: 10px;
            box-shadow: 0 0 10px rgba(0,0,0,0.1);
        }
        label {
            display: block;
            margin-bottom: 10px;
        }
        input[type="text"],
        input[type="email"],
        textarea,
        select {
            width: 100%;
            padding: 10px;
            border: 1px solid #ccc;
            border-radius: 5px;
            box-sizing: border-box;
            margin-bottom: 10px;
        }
        input[type="submit"] {
            padding: 10px 20px;
            border: none;
            border-radius: 5px;
            background-color: #4CAF50;
            color: white;
            cursor: pointer;
        }
        input[type="submit"]:hover {
            background-color: #45a049;
        }
    </style>
</head>
<body>
    <h1>お問い合わせフォーム</h1>
    <form action="submit_form.php" method="post">
        <label for="name">名前:</label>
        <input type="text" id="name" name="name">

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

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

        <input type="submit" value="送信">
    </form>
</body>
</html>

まとめ

<form> タグは、ユーザーからデータを収集し、
サーバーに送信するための重要な要素です。
actionmethodenctype などの属性を適切に設定し、
<input><textarea>, <select>, <button> などの入力要素を組み合わせて、
機能的で見た目も魅力的なフォームを作成できます。
また、CSSを使用してフォームのスタイリングを行い、ユーザーエクスペリエンスを向上させることが重要です。

モバイルバージョンを終了