257

これは、Firefox の Firebug で見つけたものです。

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

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

4

7 に答える 7

337

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

readonly次の属性を使用します。

<input type="text" readonly />

ソースはこちら

于 2013-05-08T10:24:38.007 に答える
215

はい、無効になっている入力は読み取り専用であるため、すべてのブラウザーで送信する必要はありません。

詳細情報(セクション 17.12.1)

属性の定義

disabled [CI] フォーム コントロールに設定すると、このブール属性はユーザー入力のコントロールを無効にします。disabled 属性を設定すると、要素に対して次のような効果があります。

  • 無効なコントロールはフォーカスを受け取りません。
  • 無効なコントロールは、タブ ナビゲーションでスキップされます。
  • 無効化されたコントロールは成功しません。

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

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

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

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

<INPUT disabled name="fred" value="stone">

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

于 2009-08-31T04:03:36.853 に答える
24

W3C 仕様にそう記載されているため、送信されません。

17.13.2 成功したコントロール

成功したコントロールは、送信に対して「有効」です。[をちょきちょきと切る]

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

つまり、仕様では、無効になっているコントロールは送信に対して無効であると見なされると規定されています。

于 2009-08-31T04:05:27.707 に答える
2

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

于 2015-01-08T11:05:13.373 に答える
0

選択コントロールは、読み取り専用属性でもクリック可能です

コントロールを無効にしたいが、その値を投稿したい場合。隠しフィールドを作成することを検討してください。コントロールと同じ値で。

次に、選択した変更時にjqueryを作成します

$('#your_select_id').change(function () {
    $('#your_hidden_selectid').val($('#your_select_id').val());
});
于 2019-09-30T14:25:26.483 に答える