Почему проверка HTML 5 запускается, если у меня нет документа типа HTML 5? - PullRequest
3 голосов
/ 14 июня 2011

Я столкнулся с этим несколько раз сейчас, и это становится раздражающим.В Dojo есть обязательный атрибут для запуска проверки формы.HTML 5 теперь также использует этот же атрибут.Проблема возникает потому, что HTML5 не волнует, что значение required = требуется = "что-нибудь" означает, что это требуется.

Так что на моих элементах формы, если я потребовал = "ложь", чтобы указать dojo Iне хочу это подтверждено.В некоторых случаях в Chrome и Firefox проверка HTML 5 выполняется в этом поле ввода.

Я пробовал атрибут novalidate HTML 5, но кажется, что если обязательный атрибут есть, он игнорирует его.

Я думаю, я должен задать вопрос.Как вообще отключить проверку HTML5?или, другими словами, почему выполняется проверка HTML 5, если я не указываю тип документа HTML 5.

Спасибо

Вот полный пример проблемы.Откройте это в Firefox или Chrome

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
  <script language="javascript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/dojo/1.4.0/dojo/dojo.xd.js"></script>

  <script language="javascript" type="text/javascript">
    dojo.require("dojo.parser");
    dojo.require("dijit.form.Form");

    dojo.addOnLoad(function () {
      dojo.parser.parse();
    });
  </script>
  <form novalidate="novalidate" dojoType="dijit.form.Form">
  <select required="false" formnovalidate="formnovalidate">
    <option value="" >Please Choose A Category...</option>
    <option value="one" >One</option>
  </select>
  <button type="submit">Save</button>
  </form>
</body>
</html>

Ответы [ 2 ]

5 голосов
/ 14 июня 2011

Чтобы ответить на ваш второй вопрос ...

Почему выполняется проверка HTML 5, если я не указываю тип документа HTML 5?

"HTML5"DOCTYPE "не является методом идентификации" документов HTML5 ".Это просто самый короткий DOCTYPE, который обеспечивает запуск режима стандартов в браузерах (и именно поэтому он был выбран в спецификации HTML5).

Кроме того, не существует такого понятия, как «документ HTML5».Документ написан на HTML или нет.Вы можете сказать, что ваш HTML-документ содержит некоторые функции, которые впервые определены в спецификации HTML5 (мы можем назвать их «функциями HTML5»).

Браузеры не применяют другие правилав документы HTML, имеющие «тип документа HTML5».

2 голосов
/ 14 июня 2011

Вы можете отключить проверку, поместив novalidate внутри тега form или formnovalidate внутри любого отдельного input.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...