無効なフォーム入力はリクエストに表示されません質問する

無効なフォーム入力はリクエストに表示されません質問する

フォームに無効な入力がいくつかあり、それをサーバーに送信したいのですが、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>

ベストアンサー1

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

すなわち、

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

ちなみに、17.12.1HTML 4 仕様では:

  1. 無効なコントロールはフォーカスを受け取りません。
  2. 無効なコントロールはタブナビゲーションではスキップされます。
  3. 無効なコントロールは正常に投稿できません。

あなたのケースでは属性を使うことができますreadonly。これを行うことで、フィールドのデータを投稿できるようになります。

すなわち、

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

ちなみに、17.12.2HTML 4 仕様では:

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

おすすめ記事