Jaka jest prawidłowa wartość disabled
atrybutu dla pola tekstowego lub obszaru tekstowego?
Widziałem wcześniej używane:
<input type="text" disabled />
<input type="text" disabled="disabled" />
<input type="text" disabled="true" />
Jaka jest prawidłowa wartość disabled
atrybutu dla pola tekstowego lub obszaru tekstowego?
Widziałem wcześniej używane:
<input type="text" disabled />
<input type="text" disabled="disabled" />
<input type="text" disabled="true" />
Odpowiedzi:
<input type="text" disabled="disabled" />
jest prawidłowym znacznikiem.<input type="text" disabled />
jest poprawne i używane przez W3C w swoich próbkach.Specyfikacja HTML5 :
http://www.w3.org/TR/html5/forms.html#eneling-and-disiring-form-controls:-the-disabled-attribute :
Sprawdzony atrybut treści jest atrybutem logicznym
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :
Obecność atrybutu boolowskiego w elemencie reprezentuje wartość prawdziwą, a brak atrybutu reprezentuje wartość fałszywą.
Jeśli atrybut jest obecny, jego wartością musi być pusty ciąg lub wartość będąca dopasowaniem ASCII bez rozróżniania wielkości liter dla nazwy kanonicznej atrybutu, bez wiodących lub końcowych białych znaków.
Wniosek :
Poniższe są prawidłowe, równoważne i prawdziwe :
<input type="text" disabled />
<input type="text" disabled="" />
<input type="text" disabled="disabled" />
<input type="text" disabled="DiSaBlEd" />
Poniższe są nieprawidłowe :
<input type="text" disabled="0" />
<input type="text" disabled="1" />
<input type="text" disabled="false" />
<input type="text" disabled="true" />
Brak atrybutu jest jedyną prawidłową składnią dla fałszu :
<input type="text" />
Rekomendacje
Jeśli zależy ci na pisaniu poprawnego XHTML, użyj disabled="disabled"
, ponieważ <input disabled>
jest nieprawidłowy, a inne alternatywy są mniej czytelne. W przeciwnym razie używaj, <input disabled>
ponieważ jest krótszy.
ng-disabled
zamiast tego. Podobnie jak inne atrybuty tego typu, generalnie mają one inteligentny ng-*
odpowiednik
disabled={true}
działa w kodzie JSX reakcji, ale jestem pewien, że zostałby transponowany tylko do jednego z prawidłowych / dozwolonych formatów HTML5.
Właśnie wypróbowałem je wszystkie i dla IE11 jedyną rzeczą, która wydaje się działać, jest disabled = „true”. Wartości wyłączenia lub brak podanej wartości nie działały. W rzeczywistości, jsp dostał błąd, który jest równy dla wszystkich pól, więc musiałem określić disabled = "true", aby to zadziałało.
disabled="false"
nadal wyłączyłby element, ponieważ to OBECNOŚĆdisabled
powoduje wyłączenie, a nie wartość atrybutu.