Этот вопрос немного вдохновил на этот вопрос, в котором наиболее рекомендуемый ответ рекомендовал использовать функцию из HTML 5. Это, безусловно, казалось хорошим методом для но мне было любопытно использовать возможности будущей спецификации в целом.
HTML 5 предлагает множество приятных улучшений, многие из которых могут быть использованы без проблем в текущих браузерах.
Некоторые примеры:
// new, simple HTML5 doctype (puts browsers in standards mode)
<!doctype HTML>
// new input types, for easy, generic client side validation
<input type="email" name="emailAddress"/>
<input type="number" name="userid"/>
<input type="date" name="dateOfBirth"/>
// new "required" attribute indicates that a field is required
<input type="text" name="userName" required="true"/>
// new 'data-' prefixed attributes
// for easy insertion of js-accessible metadata in dynamic pages
<div data-price="33.23">
<!-- -->
</div>
<button data-item-id="93024">Add Item</button>
Многие из этих новых функций предназначены для того, чтобы браузеры могли автоматически проверять формы, а также давать им лучшие входы (например, выбор даты). Некоторые из них просто удобны и кажутся хорошим способом подготовиться к будущему.
В настоящее время они не нарушают ничего (насколько я могу судить) в текущих браузерах, и они допускают чистый, общий клиентский код.
Однако, несмотря на то, что все они действительны в HTML 5, они НЕ подходят для HTML 4, а HTML 5 по-прежнему является черновиком на этом этапе.
Хорошо ли продвигаться вперед и использовать эти функции раньше?
Есть ли проблемы с реализацией браузера, которые я не понял?
Должны ли мы разрабатывать веб-страницы сейчас, используя черновые возможности HTML 5?