web-dev-qa-db-ja.com

disabled属性の正しい値は何ですか?

テキストボックスまたはテキストエリアのdisabled属性の正しい値は何ですか?

私は前に使用される次を見ました:

<input type="text" disabled />
<input type="text" disabled="disabled" />
<input type="text" disabled="true" />
152
tskuzzy
  • XHTMLの場合、<input type="text" disabled="disabled" />は有効なマークアップです。
  • HTML5の場合、<input type="text" disabled />は有効であり、W3Cのサンプルで使用されています。
  • 実際、両方の方法はすべての主要なブラウザーで機能します。
143

HTML5仕様

http://www.w3.org/TR/html5/forms.html#enabling-and-disabling-form-controls:-the-disabled-attribute

チェックされたコンテンツ属性はブール属性です

http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes

要素のブール属性の存在は真の値を表し、属性の不在は偽の値を表します。

属性が存在する場合、その値は空の文字列か、属性の正規名と大文字小文字を区別しないASCIIで、先頭または末尾に空白がない値でなければなりません。

結論

以下は、有効、同等、およびtrueです。

<input type="text" disabled />
<input type="text" disabled="" />
<input type="text" disabled="disabled" />
<input type="text" disabled="DiSaBlEd" />

以下はinvalidです。

<input type="text" disabled="0" />
<input type="text" disabled="1" />
<input type="text" disabled="false" />
<input type="text" disabled="true" />

falseの唯一の有効な構文は、属性がないことです。

<input type="text" />

推奨事項

有効なXHTMLの作成を気にする場合は、disabled="disabled"が無効であり、他の選択肢は読みにくいため、<input disabled>を使用します。それ以外の場合は、<input disabled>を短くしてください。

これらすべてを試してみましたが、IE11の場合、動作するように見える唯一のものはdisabled = "true"です。無効の値または指定された値が機能しませんでした。実際のところ、jspにはすべてのフィールドでequalが必要であるというエラーが発生したため、これを機能させるためにdisabled = "true"を指定する必要がありました。

1
Edmond ME

HTML5では、正しい値はありません。すべての主要なブラウザーは属性が何であるかを実際に気にしません。属性が存在するかどうかをチェックするだけなので、要素は無効になります。

1
MadsHaupt