ios - input 元素上的 Autocapitalize 属性(用于 iOS)破坏了验证

标签 ios forms input w3c-validation

可以看出here 、Safari 和 Safari for iPhone 支持所有 HTML 元素,包括已弃用的元素,甚至一些从未属于任何 W3C 规范的专有元素。

在表单的“电子邮件”和“网站”字段中包含 autocapitalize 实际上非常有用,因为在填写这两个输入中的任何一个时,没有什么比取消选择 SHIFT 键更烦人的了。这样做很简单,因为您需要做的就是将 autocapitalize=off 属性添加到相应的输入中,例如:

<label for="email">E-mail</label>
<input type="email" name="email" placeholder="yourname@domain.com" autocapitalize="off" title="Enter your e-mail address" class="required email" id="email">

iPhone 和 iPad 都将键盘与附加到表单中输入元素的属性完美匹配。不幸的是,此标记似乎破坏了验证,W3C 在设置上述内容时响应“此时元素输入不允许属性自动大写”。

我想这不是什么好事,但是有没有办法在不破坏验证的情况下包含属性?也许我这里有问题。

最佳答案

ughoavgfhw 的评论完全回答了这个问题:根据目前的 W3C 规范,您不能在不破坏验证的情况下在表单中包含 autocapitalize 属性,因此这是一个权衡这种不便与用户不得不摸索的情况您的表单在 iOS 上点击 SHIFT 键。

我认为这是一种罕见的情况(内联样式是另一种情况),在这种情况下容忍页面上的错误是有意义的,只要它们不是任何错误的征兆,只是 W3C 有点问题吸收缓慢。

关于ios - input 元素上的 Autocapitalize 属性(用于 iOS)破坏了验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5333416/

相关文章:

servlets - 如何在servlet中获取表单参数? request.getAttribute 不起作用

python - 这行代码中的[0]是什么意思?

html - 输入框未对齐

algorithm - 快速排序时间复杂度最佳案例输入

ios - 随机错过一次点击

ios - 为 iOS(和 Airplay)上不受支持的硬件加速容器设计一个库

ios - 在 iPad 上离线访问 svn diff 信息

ios - 如何清除json中的双引号?

javascript - 如何从表单提交中获取所有单选按钮组选择

jquery表单不重新加载页面