input タグの type 属性が “hidden”の場合、どうなるの

2024年6月25日

input タグの type 属性が “hidden" の場合、そのフィールドは画面上では表示されませんが、その値はフォームがサーバーに送信される際にも含まれます。このようなフィールドは、ユーザーが直接編集することができず、裏でデータを伝達するために利用されます。

例えば、以下のような HTML フォームがあるとします。

html
<form method="post" action="{% url 'your_view_name' %}">
    {% csrf_token %}
    <input type="hidden" name="hidden_field" value="hidden_value">
    <input type="text" name="adjust_item_price" placeholder="調整後の価格">
    <button type="submit">価格調整開始</button>
</form>

このフォームが送信されると、サーバーには次のようなデータが送信されます。

python
{
    'csrfmiddlewaretoken': 'your_csrf_token_value',
    'hidden_field': 'hidden_value',
    'adjust_item_price': 'ユーザーが入力した価格'
    # 他のフォームフィールドに関するデータも含まれる可能性があります
}

ここで、hidden_field の値はユーザーには表示されず、設定された値("hidden_value")がそのまま送信されます。ビューでこのデータを処理すると、request.POST.get('hidden_field') で “hidden_value" を取得できます。

未分類

Posted by ぼっち