IOS 浏览器上的只读日期字段?

问题描述 投票:0回答:5

只读字段似乎不适用于 iOS。这就是我所拥有的:

@Html.EditorFor(model => model.DateOfBirth, new { htmlAttributes = new { @readonly = "true" } })

本质上,这被翻译成这样:

<input type="date" readonly="readonly" />

适用于 Windows Chrome,但不适用于 iPhone。仍然可以编辑该字段。日期选择器出现。

ios asp.net-mvc html safari
5个回答
3
投票

这实际上是iOS中的一个错误,只读日期字段仍然可以更改。

您可以通过在 HTML 中添加如下内容来修复它:

onclick="this.blur()"

2
投票

我刚刚遇到了这个。当我将其渲染为只读模式时,通过将其设置为 type="text" 来解决它。


0
投票

尝试将您的

input
标签更改为此

<input type="date" readonly />

也请阅读此,也许是 iOS 错误。


0
投票

使用

disabled
属性而不是
readonly

<input type="date" disabled />

0
投票

2024年仍然没有解决,但我有一个解决方案:

  • 使用 onclick 将输入包装到 div 中以触发选择器
  • 将输入设置为pointer-events:none

这是我得到的唯一完美的解决方案(浏览器选择器永远不会出现)

© www.soinside.com 2019 - 2024. All rights reserved.