2012-11-26 28 views
5

私は自分のウェブサイトを修正しています。もちろん、私のウェブサイトは「ビュー」からHTMLを生成します。チェックボックスはHTMLチェックボックスで有効ではありませんか?

は今のところ、私の見解の一部は、次のようになります

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

これはこれについて移動する最も簡単な方法です。ただし、checked="no"が生成されると、ページをロードするたびにチェックボックスがデフォルトでオンになります。私は本当にそれがチェックされないようにすべてchecked属性を排除する必要がありますか?

また、私は自分のdoctypeとしてHTML5を使用しています。

答えて

7

短いバージョン:はい、除外する必要があります。

属性の値は無関係です。存在する限り、ボックスがチェックされます。

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

これはHTML5でも有効です。

XHTMLでは属性が値を必要とし、 "yes"や "true"などの値はボックスのチェックを外すことを意味しているため、コンフリクトはchecked="checked"でした。これは真実ではなく、初心者を混乱させます。同様の規則がreadonly="readonly"disabled="disabled"について採用されました。

1

はい。 checkedはbool属性で、不在の場合は「オフ」、存在する場合は「オン」です。

booleanの属性とchecked属性のW3C参照。

0

チェックする場合はcheckedを含めます。そうでない場合は属性を省略します。

1

from the spec

checked = "checked"又は""(空文字列)または

空の要素が選択されたコントロールを表すことを指定します。

関連する問題