我无法通过谷歌找到任何关于此的文档或其他报告。

在 Mobile Safari(至少在 iOS6+7 中)上,我有一个包含多个表单的表单 <input>s 类型为“text”。其中几个字段用于用户的电子邮件地址和电话号码,并进行了适当的标记。据我所知,Mobile Safari 正在改变这些 <input>给它们一个它认为适合标签的“类型”属性——例如,电子邮件字段被赋予 type="email",电话号码字段被赋予 type="number"(奇怪的是,而不是 type="tel ”)。对于电子邮件字段,这不会造成任何问题,但电话号码字段无法呈现默认值,因为它的格式不适合“数字”字段(数字显示有空格)。到目前为止,我还没有发现任何可能导致此问题的 JavaScript。

我可以理解当“type”属性被完全省略时会发生这种情况,但我已经仔细检查过这些字段肯定是用 type="text" 渲染的,并且我已经确认所有主要的桌面浏览器都正确渲染了这些字段。我什至不认为如果电话字段更改为 type="tel" 不会有问题,因为我认为该类型没有任何格式限制。

我正在通过 XCode 的 iOS 模拟器与 Safari 的 Web 检查器配对在 iOS 上进行测试。以下是 Web 检查器中带有“手机”标签的字段的屏幕截图:

Phone field in Safari web inspector

作为参考,以下是该字段的渲染方式(请注意,没有渲染任何值):

enter image description here

有人遇到过这种情况么?

更新: 这个jsfiddle 在 iOS 中工作正常,这表明它可能是 javascript 问题而不是 webkit,尽管到目前为止我还无法发现任何可能导致此问题的 javascript。

有帮助吗?

解决方案

您是否将任何 javascript 代码与 HTML 一起使用,像 jQuery/jQuery UI 这样的东西可以在设置为特定类型时更新字段。您是否尝试过在网络视图/浏览器中禁用 javascript 进行检查?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top