2012-11-26 10 views
5

Naprawiłem moją stronę. Moja strona internetowa oczywiście generuje HTML z "widoku".Jest zaznaczone = nie jest poprawne w polach HTML?

Teraz część moim zdaniem wygląda następująco:

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

Jest to najprostszy sposób, aby przejść na ten temat. Jeśli jednak wygeneruje ona checked="no", pole wyboru będzie nadal zaznaczone domyślnie po załadowaniu strony. Czy naprawdę muszę wykluczyć atrybut checked, aby go nie sprawdzać?

Używam również HTML5 jako mojego doctype.

Odpowiedz

7

Krótka wersja: tak, należy wykluczyć.

Wartość atrybutu nie ma znaczenia, o ile jest obecna, pole zostanie zaznaczone.

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

Ta informacja jest ważna w HTML5.

W XHTML atrybut wymagał wartości, a konwencja była checked="checked", ponieważ wartości takie jak "tak" lub "prawda" sugerowały, że przeciwieństwa odznaczą pole, co nie jest prawdą i wprowadzałoby w błąd początkujących. Podobne konwencje przyjęto dla readonly="readonly" i disabled="disabled".

1

Tak. checked to atrybut bool, który jest "wyłączony", gdy jest nieobecny i "włączony", gdy jest obecny.

Referencje W3C dla atrybutów boolean i dla atrybutu checked.

0

Chcesz dołączyć checked, jeśli chcesz to sprawdzić, w przeciwnym razie pomiń atrybut.

1

from the spec

checked = "checked" lub "" (pusty łańcuch) lub puste

określa, że ​​stanowi element wybrany przycisk.

Powiązane problemy