datetime-local步骤不适用于移动设备

时间:2016-10-27 08:50:11

标签: html datetime

<input type="datetime-local" step="1800"></input>

以上命令无法在手机上运行。我的手机上的步骤仍然是1分钟。

手机:iPhone 6,iOS 10,经过Safari和Chrome测试。

任何帮助?

1 个答案:

答案 0 :(得分:1)

让我们首先解释属性step的工作原理

step属性是一个数字,用于指定值必须遵守的粒度或特殊值any(如下所述)。仅与步进基础相等的值(如果指定,则为最小值,否则为该值;如果不提供,则为适当的默认值)。

任意值的字符串表示没有步进,并且允许任何值(除非有其他限制,例如最小值和最大值)。

注意:当用户输入的数据不符合步进时 配置,用户代理可以四舍五入到最接近的有效值, 当有两个时,偏向正数 同样接近的选择。

对于本地日期时间输入,step的值以秒为单位,比例因子为1000(因为基础数字值以毫秒为单位)。 step的默认值为60,表示60秒(或1分钟,或60,000毫秒)。

目前,尚不清楚与datetime-local输入配合使用时,step的含义是什么。确定该信息后,将对其进行更新。

可能的解决方案

要使用此属性,我们还应该指定另外2个属性:maxmin

什么是max属性?

接受的最新日期和时间。如果输入到元素的值晚于此时间戳,则该元素将无法通过约束验证。如果max属性的值不是遵循yyyy-MM-ddThh:mm格式的有效字符串,则该元素没有最大值。

此值必须指定一个晚于或等于min属性指定的日期字符串的日期字符串。

什么是min属性?

最早接受的日期和时间;早于此的时间戳将导致元素无法通过约束验证。如果min属性的值不是遵循yyyy-MM-ddThh:mm格式的有效字符串,则该元素没有最小值。

此值必须指定一个日期字符串,该日期字符串早于或等于max属性指定的日期字符串。

最终代码

<input type="datetime-local" max="2020-06-20T20:06" min="2020-02-20T02:20" step="60"></input>