这个问题受到了这个问题的启发,其中最受好评的答案建议使用 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 草稿特性的网页吗?