2012-11-26 53 views
5

所以,我一直在修理我的網站。我的網站當然會從「視圖」中生成HTML。是否勾選=在HTML複選框中無效?

現在,我的觀點的部分看起來像這樣:

<input type="checkbox" name="Publish" checked="{=Entry.Publish ? "yes" : "no" =}" value="true" /> 

這是去最簡單的方法。但是,當它生成checked="no"時,默認情況下,每當我加載頁面時,複選框仍將被選中。我真的必須排除checked屬性全部在一起,因爲它不被檢查?

此外,我使用HTML5作爲我的文檔類型。

回答

7

短版:是的,它需要排除。

該屬性的值是不相關的,只要它存在,該框將被檢查。

<input type="checkbox" name="Publish" value="true" checked /> 

這在HTML5中有效。

在XHTML中,屬性需要一個值並且約定爲checked="checked",因爲像「yes」或「true」這樣的值意味着對立方會取消選中該框,這是不正確的並會混淆初學者。 readonly="readonly"disabled="disabled"採用了類似的約定。

1

是的。 checked是一個bool屬性,當它不存在時爲「off」,當存在時爲「on」。

W3C對於boolean屬性的引用和對於checked屬性的引用。

0

如果要檢查是否包含checked,否則省略該屬性。

1

from the spec

checked = "checked"""(空字符串)或空

指定該元素表示一個選定的控制。