176


18

これは私がfirefoxのfireBugで見つけたものです。

他のブラウザでも同じですか?

もしそうなら、これの理由は何ですか?

5 Answer


229


`disabled`入力はデータを送信しません。

`readonly`属性を使います。


http://blog.netgloo.com/2014/05/31/disabling-an-input-field-in-a-form-and-sending-data/[ここにソース]


160


はい、すべてのブラウザは[読み取り専用]なので無効にされた入力を送信してはいけません[line-through]。

http://www.w3.org/TR/html401/interact/forms.html#disabled[詳細情報](セクション17.12.1)

属性定義

disabled [CI]フォームコントロールに設定されている場合、このブール属性はユーザー入力に対するコントロールを無効にします。 設定すると、disabled属性は要素に次のような影響を与えます。

  • 無効になっているコントロールはフォーカスを受けません。

  • 無効化されたコントロールはタブナビゲーションではスキップされます。

  • 無効にしたコントロールは成功しません。

次の要素はdisabled属性をサポートしています:BUTTON、INPUT、OPTGROUP、OPTION、SELECT、およびTEXTAREA。

この属性は継承されますが、ローカル宣言は継承された値をオーバーライドします。

無効化された要素がどのようにレンダリングされるかはユーザーエージェントによって異なります。 例えば、いくつかのユーザエージェントは無効化されたメニュー項目、ボタンラベルなどを「グレーアウト」します。

この例では、INPUT要素は無効になっています。 したがって、ユーザー入力を受け取ることも、その値をフォームと一緒に送信することもできません。


注意。 disabled属性の値を動的に変更する唯一の方法はスクリプトを使用することです。


21


http://www.w3.org/TR/html401/interact/forms.html#successful-controls[W3Cの仕様に記載されている内容]なので、それらは送信されません。

__ 17.13.2成功した統制

成功したコントロールは送信に対して "有効"です。 [スニップ]

  • 無効になっているコントロールは成功しません。 __

言い換えれば、この仕様では、無効にされたコントロールは無効と見なされ、送信されるべきではないと述べています。


8


身体障害者を模倣するために3つのことを使用することができます。

  1. HTML: `readonly`属性(入力に存在する値をフォーム送信時に使用できるようにします。 またユーザーは入力値を変更できません)

  2. CSS: `` pointer-events ':' none '(ユーザが入力をクリックできないようにする)

  3. HTML: tabindex =" - 1 "(キーボードからの入力に移動するのをブロックしているユーザー)


2


`Disabled`コントロールは成功することはできず、成功したコントロールは投稿に対して"有効 "です。 これが、無効なコントロールがフォームと共に送信されない理由です。