【问题标题】:ios/Mobile Safari changing <input> type attribute based on label?ios/Mobile Safari 根据标签更改 <input> 类型属性?
【发布时间】:2023-03-06 01:28:01
【问题描述】:

我无法通过 Google 找到任何文档或其他报告。

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

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

我正在通过 XCode 的 iOS 模拟器和 Safari 的网络检查器在 iOS 上进行测试。这是网络检查器中带有“手机”标签的字段的屏幕截图:

作为参考,这里是该字段的呈现方式(注意没有呈现任何值):

有没有其他人遇到过这种情况?

更新:this jsfiddle 在 iOS 中运行良好,这表明它可能是一个 javascript 问题而不是 webkit,尽管到目前为止我还没有发现任何可能导致此问题的 javascript。

【问题讨论】:

    标签: ios webkit mobile-safari mobile-webkit


    【解决方案1】:

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

    【讨论】:

    • 是否可以在 Mobile Safari 中禁用 javascript?
    • 确实 - 毕竟罪魁祸首是 javascript。绝对是我不得不追捕的更晦涩难懂的错误之一!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    相关资源
    最近更新 更多