これは、FirebugがFirefoxで見つけたものです。
他のブラウザでも同じですか?
もしそうなら、これの理由は何ですか?
これは、FirebugがFirefoxで見つけたものです。
他のブラウザでも同じですか?
もしそうなら、これの理由は何ですか?
回答:
はい、無効になっている入力は読み取り専用であるため、すべてのブラウザで送信しないでください。
詳細(セクション17.12.1)
属性の定義
disabled [CI]フォームコントロールに設定すると、このブール属性はユーザー入力のコントロールを無効にします。設定すると、disabled属性は要素に次の影響を与えます。
- 無効にされたコントロールはフォーカスを受け取りません。
- 無効化されたコントロールは、タブナビゲーションではスキップされます。
- 無効にされたコントロールは成功できません。
次の要素は、disabled属性をサポートします:BUTTON、INPUT、OPTGROUP、OPTION、SELECT、およびTEXTAREA。
この属性は継承されますが、ローカル宣言は継承された値をオーバーライドします。
無効化された要素のレンダリング方法は、ユーザーエージェントによって異なります。たとえば、一部のユーザーエージェントは、無効になったメニュー項目、ボタンラベルなどを「グレー表示」します。
この例では、INPUT要素が無効になっています。したがって、ユーザー入力を受け取ることはできず、その値はフォームと共に送信されません。
<INPUT disabled name="fred" value="stone">
注意。disabled属性の値を動的に変更する唯一の方法は、スクリプトを使用することです。
<input type="hidden">
無効な入力と同じ名前/値を持つ要素を追加します。
readonly
機能します。「name」属性を入力に渡してください。
W3C仕様ではそのように記載されているため、提出されません。
17.13.2成功した制御
成功したコントロールは、送信に対して「有効」です。[をちょきちょきと切る]
- 無効になっているコントロールは成功できません。
つまり、無効化されたコントロールは無効であると見なされ、送信されるべきではないという仕様です。
2すなわち、属性、ありreadonly
とdisabled
半読み取り専用の入力を行うことができ、。しかし、それらの間には小さな違いがあります。
<input type="text" readonly />
<input type="text" disabled />
readonly
属性により入力テキストが無効になり、ユーザーはそれを変更できなくなります。disabled
属性は入力テキストを無効(変更不可)にするだけでなく、送信することもできません。jQueryアプローチ(1):
$("#inputID").prop("readonly", true);
$("#inputID").prop("disabled", true);
jQueryアプローチ(2):
$("#inputID").attr("readonly","readonly");
$("#inputID").attr("disabled", "disabled");
JavaScriptアプローチ:
document.getElementById("inputID").readOnly = true;
document.getElementById("inputID").disabled = true;
PS disabled
およびreadonly
は、標準のHTML属性です。prop
で紹介されましたjQuery 1.6
。