【问题标题】:How to hide "clear" button in Safari's native date picker?如何在 Safari 的原生日期选择器中隐藏“清除”按钮?
【发布时间】:2015-03-13 15:38:51
【问题描述】:

我有一个不可为空的日期字段,我在以下 HTML 元素中显示:

<input type="date" value="(enter date value here)"/>

默认情况下,此字段中始终有一个日期。但是,iOS 的原生日期选择器具有清除日期的功能。

在客户端和服务器上都有代码验证此字段不能为空。不过,我宁愿根本不向用户显示此按钮。

有没有办法可以隐藏它,使用特殊属性或其他东西?我不在乎该解决方案是否仅针对 iOS 的 Safari。

【问题讨论】:

  • 与其寻找方法来更改设备呈现 UI 元素的默认行为,更好的方法是在提交之前或期间在 UI 上以及在处理时在服务器上执行数据验证传入的数据。当用户提交时,验证日期在 UI 和数据目标上的格式是否正确。
  • @gmiley 那是我已经做过的事情。但是我仍然想隐藏这个按钮。如果最终用户不打算使用它,我不希望最终用户接触到此功能。这没有意义。
  • @Crono 当用户点击“清除”按钮时我们可以得到回调吗?如果是,请提供我的方法。谢谢。

标签: html ios mobile web safari


【解决方案1】:

调用 dateTimePicker 时,您可以尝试在选择器上添加一个 UIView 并使用适当的背景颜色来隐藏按钮。

或者,考虑到在您的应用上下文中“明确”可能意味着“明确用户选择了什么让他们重新开始”。如果他们点击清除按钮,只需插入今天或您想要的任何日期作为默认日期。

【讨论】:

  • UIView 不是原生组件吗?我怎么能从 HTML / Javascript 创建这样的东西?至于您关于“重置”“清除”日期的想法,问题是我确实在应用程序的其他地方有可为空的日期,我不想将最终用户与两个不同的“清除”的行为。
  • 真正关于混淆“清晰”行为。错过了您在 HTML/JS 中构建它的部分。不知道如何帮助你。
  • 我喜欢你的方法。你能告诉我什么是清除按钮 JavaScript 事件吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多