ほとんどの場合、text input
のreadonly
属性に精通していますが、他のWebサイト(私の厄介な習慣)からコードを読んでいるときに、この属性の実装が複数見られました。
<input type="text" value="myvalue" class="class anotherclass" readonly >
そして
<input type="text" value="myvalue" class="class anotherclass" readonly="readonly" >
そして私も見ました
<input type="text" value="myvalue" class="class anotherclass" readonly="true" >
..そして、私はもっと見たと思うが、正確な構文を今思い出すことはできない。
それで、私が使用すべき正しいものはどれですか?
w から:
readonly= "readonly"または ""(空の文字列)またはempty-要素が値を編集することを意図していないコントロールを表すことを指定します。
したがって、基本的には同じです。
HTML5仕様:
http://www.w3.org/TR/html5/forms.html#attr-input-readonly :
読み取り専用属性はブール属性です
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :
要素のブール属性の存在は真の値を表し、属性の不在は偽の値を表します。
属性が存在する場合、その値は空の文字列か、属性の正規名と大文字小文字を区別しないASCIIで、先頭または末尾に空白がない値でなければなりません。
結論:
以下は、有効、同等、およびtrueです。
<input type="text" readonly />
<input type="text" readonly="" />
<input type="text" readonly="readonly" />
<input type="text" readonly="ReAdOnLy" />
以下はinvalidです。
<input type="text" readonly="0" />
<input type="text" readonly="1" />
<input type="text" readonly="false" />
<input type="text" readonly="true" />
falseの唯一の有効な構文は、属性がないことです。
<input type="text"/>
推奨事項
有効なXHTMLの作成を気にする場合は、readonly="readonly"
が無効であり、他の選択肢は読みにくいため、<input readonly>
を使用します。それ以外の場合は、<input readonly>
を短くしてください。
あるべきです
<input type="text" value="myvalue" class="class anotherclass" readonly="readonly" />