これは、Firefox の Firebug で見つけたものです。
他のブラウザでも同じですか?
もしそうなら、その理由は何ですか?
これは、Firefox の Firebug で見つけたものです。
他のブラウザでも同じですか?
もしそうなら、その理由は何ですか?
はい、無効になっている入力は読み取り専用であるため、すべてのブラウザーで送信する必要はありません。
詳細情報(セクション 17.12.1)
属性の定義
disabled [CI] フォーム コントロールに設定すると、このブール属性はユーザー入力のコントロールを無効にします。disabled 属性を設定すると、要素に対して次のような効果があります。
- 無効なコントロールはフォーカスを受け取りません。
- 無効なコントロールは、タブ ナビゲーションでスキップされます。
- 無効化されたコントロールは成功しません。
次の要素は、無効な属性をサポートしています: BUTTON、INPUT、OPTGROUP、OPTION、SELECT、および TEXTAREA。
この属性は継承されますが、ローカル宣言は継承された値をオーバーライドします。
無効な要素がどのようにレンダリングされるかは、ユーザー エージェントによって異なります。たとえば、一部のユーザー エージェントは、無効なメニュー項目やボタン ラベルなどを「グレー表示」します。
この例では、INPUT 要素が無効になっています。したがって、ユーザー入力を受け取ることも、その値をフォームで送信することもできません。
<INPUT disabled name="fred" value="stone">
ノート。disabled 属性の値を動的に変更する唯一の方法は、スクリプトを使用することです。
W3C 仕様にそう記載されているため、送信されません。
17.13.2 成功したコントロール
成功したコントロールは、送信に対して「有効」です。[をちょきちょきと切る]
- 無効になっているコントロールは成功しません。
つまり、仕様では、無効になっているコントロールは送信に対して無効であると見なされると規定されています。
Disabled
コントロールは成功することはできず、成功したコントロールは送信に対して「有効」です。これが、無効なコントロールがフォームと共に送信されない理由です。
選択コントロールは、読み取り専用属性でもクリック可能です
コントロールを無効にしたいが、その値を投稿したい場合。隠しフィールドを作成することを検討してください。コントロールと同じ値で。
次に、選択した変更時にjqueryを作成します
$('#your_select_id').change(function () {
$('#your_hidden_selectid').val($('#your_select_id').val());
});