1. ホーム
  2. html

[解決済み] 無効化されたフォーム入力がリクエストに表示されない

2022-03-25 20:59:44

質問

フォームに無効な入力があり、それをサーバーに送信したいのですが、Chromeはそれらをリクエストから除外してしまいます。

隠しフィールドを追加することなく、これを回避する方法はありますか?

<form action="/Media/Add">
    <input type="hidden" name="Id" value="123" />

    <!-- this does not appear in request -->
    <input type="textbox" name="Percentage" value="100" disabled="disabled" /> 

</form>

解決方法は?

を持つ要素は disabled 属性は投稿されないか、その値が投稿されないと言えます(ステップ3の2番目の箇条書きにある フォームデータセット構築のためのHTML 5仕様書 ).

すなわち

<input type="textbox" name="Percentage" value="100" disabled="disabled" /> 

参考までに、あたり 17.12.1 は、HTML 4仕様の

  1. 無効化されたコントロールにはフォーカスが当たらない。
  2. 無効化されたコントロールは、タブナビゲーションでスキップされる。
  3. 無効化されたコントロールが正常に投稿できない。

を使用することができます。 readonly 属性を使用すると、フィールドのデータを投稿することができます。

すなわち

<input type="textbox" name="Percentage" value="100" readonly="readonly" />

参考までに、あたり 17.12.2 は、HTML 4仕様の

  1. 読み取り専用要素はフォーカスを受けるが、ユーザーが変更することはできない。
  2. 読み取り専用要素は、タブナビゲーションに含まれます。
  3. 読み取り専用の要素が正常に投稿される。