什么是input文本元素的正确的只读属性语法?
我知道text input的readonly属性,但是当从其他网站读取代码(我的一个讨厌的习惯)时,我看到了不止一个实现: 
 <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" > 
..我相信我看到了更多,但现在不记得确切的语法..
那么,哪一个是我应该使用的正确的?
从w3 :
readonly = “只读”或“”(空string)或空 – 指定该元素表示一个控件,其值不会被编辑。
所以基本上是一样的。
HTML5规范 :
http://www.w3.org/TR/html5/forms.html#attr-input-readonly :
readonly属性是一个布尔属性
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :
元素上布尔属性的存在表示真值,缺less属性表示假值。
如果该属性存在,则其值必须是空string,或者是该属性规范名称的ASCII不区分大小写的匹配值,且不包含前导或尾随空格。
结论 :
以下是有效的,等同的和真实的 :
 <input type="text" readonly /> <input type="text" readonly="" /> <input type="text" readonly="readonly" /> <input type="text" readonly="ReAdOnLy" /> 
以下是无效的 :
 <input type="text" readonly="0" /> <input type="text" readonly="1" /> <input type="text" readonly="false" /> <input type="text" readonly="true" /> 
缺less该属性是错误的唯一有效语法:
 <input type="text"/> 
build议
 如果你关心写有效的XHTML,使用readonly="readonly" ,因为<input readonly>是无效的,其他的select是不太可读的。 否则,只需使用<input readonly>因为它更短。 
应该是
 <input type="text" value="myvalue" class="class anotherclass" readonly="readonly" />