Почему Disabled = Ture для HTML работает?

Я заметил в нашем коде, что есть disabled = ture'исходный код для тега привязки. Мне было интересно, почему это работает в IE. Я также искал в Интернете, и он также используется в большом количестве исходного кода через поиск в сети. Я искал, если ture, неправильное написание истины также может использоваться IE.

У кого-нибудь есть идеи по этому поводу?

13.10.2009 06:29:34
лол. ну, они допускают все виды искаженного HTML и несовпадающих тегов ... почему бы не допустить грамматических ошибок тоже? : p Я предполагаю, что все, кроме "false", оценивается как true ... или что-то в этом роде.
mpen 13.10.2009 06:31:55
Нет, <input disabled = "false"> также отключен :-P
Nickolay 13.10.2009 07:19:10
KLE. Я заметил, что вы изменили написание слова Туре на истинное. На самом деле, это действительно {disabled = ture '} в нашем коде. Даже неправильное написание принято, это даже не правда. Я думаю, что браузер примет любое значение. :)
Nap 15.10.2009 03:59:56
6 ОТВЕТОВ
РЕШЕНИЕ

Раньше вы просто отключали элемент, <input type="text" disabled>поэтому большинству браузеров все равно, что входит в этот атрибут. Я считаю, что создание этого disabled="disabled"стало стандартом исключительно для того, чтобы код был действительным XML.

12
13.10.2009 06:32:38
Дополнение: HTML5 теперь кодифицирует синтаксис <input disabled> и даже дает его в примерах: whatwg.org/specs/web-apps/current-work
Nickolay 13.10.2009 07:18:07
В HTML 4 было следующее: w3.org/TR/html4/interact/forms.html#adef-disabled (HTML 3.2 вообще не имел отключенного атрибута, но проверенный атрибут работает таким образом: w3.org/TR/REC -html32 # input )
Quentin 13.10.2009 09:23:34
Это называется минимизацией атрибутов и восходит к стандарту SGML, на котором изначально был (как бы) построен HTML.
bobince 13.10.2009 12:01:05

IE проверяет только наличие отключенного свойства. Это значение не имеет значения.

5
13.10.2009 06:33:15

IE печально известен тем, что позволяет работать с HTML-кодом, заполненным ошибками; Вот почему многие люди ошибочно «обвиняют» это в проблемах, но на самом деле они просто делают что-то не так.

Я считаю, что IE позволяет diabled быть установленным на что угодно (кроме false), что означает, что это правда, потому что я думаю, что в прошлом люди писали disabled='disabled'и другие подобные вещи.

-1
13.10.2009 06:33:40

Атрибут disable может принимать одно значение: 'disabled'

Все экземпляры этого атрибута в HTML позволяют опускать кавычки, разделитель и имя (оставляя только значение без кавычек).

Поскольку браузеры реализуют парсеры супов тегов и выполняют огромное количество операций по исправлению ошибок, отключенный = почти все будет рассматриваться как disabled.

(И я предполагаю, что Microsoft по какой-то причине внедрила отключенный на якорях, несмотря на то, что атрибут для этого элемента отсутствует).

0
13.10.2009 06:34:20

Вы можете использовать этот код, если вы хотите отключить его в соответствии с уровнем пользователя, вставьте его в тег формы ввода, надеюсь помочь

<?php 
if($_SESSION['user_level']=="level1")
{
?>  

disabled="disabled"  

<?php 
}
?>
-1
5.02.2013 03:47:20

Если вы используете фреймворк, такой как "dojo", для визуализации ваших графических виджетов, значение этой разметки HMTL может влиять на то, как ваши компоненты будут отображаться (и отличается для старых браузеров IE). Dojo обращает внимание на значение объекта DOM, представляющего отключенный атрибут. Например, эта разметка отобразит включенный виджет, если вы используете Chrome или> = IE9:

disabled="false"

Это противоположно поведению ванильных HTML-компонентов, которые будут отключены только потому, что присутствует атрибут disabled (согласно сообщению Зеда).

В Chrome и IE9 / более поздних версиях отключенное значение атрибута точно сохраняется в объекте DOM, который его представляет (например, если атрибут отсутствует в разметке, атрибут даже не определен в объекте DOM). Поскольку объект DOM управляет dojo, когда он отображает свои виджеты, значение в разметке HTML окажет влияние.

В IE8 / ранее значение атрибута сохраняется в DOM по-разному. Во-первых, атрибут disabled всегда присутствует, а во-вторых, только его отсутствие обеспечивает значение false (в этом случае виджет dojo будет отображаться включенным).

Примечание: современные браузеры IE можно отключить, чтобы регрессировать их поведение к более старым версиям (таким как метатег X-UA-Compatibleс content="IE=8").

Пример 1 Ванильная HTML-разметка

Согласно сообщению Зеда, только первый из них должен быть включен (в любом браузере):

<button>OK</button>
<button disabled>OK</button>
<button disabled="false">OK</button>
<button disabled="true">OK</button>
<button disabled="mickey">OK</button>
<button disabled="">OK</button>

Пример 2 dojo html разметка

Первый и третий из них включены с помощью dojo (в Chrome / IE9 или более поздней версии):

<button dojoType="dijit.form.Button">OK</button>
<button dojoType="dijit.form.Button" disabled>OK</button>
<button dojoType="dijit.form.Button" disabled="false">OK</button>
<button dojoType="dijit.form.Button" disabled="true">OK</button>
<button dojoType="dijit.form.Button" disabled="mickey">OK</button>
<button dojoType="dijit.form.Button" disabled="">OK</button>

В IE8 или ниже приведенное выше будет отображаться точно так же, как в первом примере.

Странно, что "" оценивает ложное значение в JavaScript, но не переводит в ложное значение в контексте вышеупомянутых примеров (и, следовательно, включенного виджета).

1
8.02.2017 14:35:11