我无法通过 Google 找到任何文档或其他报告。
在 Mobile Safari 上(至少在 iOS6+7 中)我有一个包含多个<input>
type="text" 的表单。其中一些字段用于用户的电子邮件地址和电话号码,并进行了适当的标记。据我所知,Mobile Safari 正在更改这些<input>
s 以赋予它们一个它认为适合标签的“类型”属性——例如,电子邮件字段被赋予 type="email",电话号码字段被赋予 type= “数字”(奇怪的是,不是 type="tel")。对于电子邮件字段,这没有问题,但电话号码字段无法呈现默认值,因为它的“数字”字段格式不正确(数字显示为空格)。到目前为止,我还没有找到任何可能导致这种情况的 javascript。
我可以理解当“type”属性被完全省略时会发生这种情况,但我已经仔细检查过这些字段肯定是用 type="text" 呈现的,并且我已经确认所有主要的桌面浏览器都正确呈现了这些字段。我什至认为如果将电话字段更改为 type="tel" 不会有问题,因为我认为该类型没有任何格式限制。
我正在通过 XCode 的 iOS 模拟器和 Safari 的网络检查器在 iOS 上进行测试。这是网络检查器中带有“手机”标签的字段的屏幕截图:
作为参考,这里是该字段的呈现方式(请注意,没有呈现任何值):
有人遇到过这种情况么?
更新: 这个 jsfiddle在 iOS 中运行良好,这表明它可能是一个 javascript 问题而不是 webkit,尽管到目前为止我还没有发现任何可能导致这种情况的 javascript。