当前位置: 首页 > 知识库问答 >
问题:

输入[type='datetime-local']在Chrome中不支持秒

居英资
2023-03-14

当通过Javascript设置该值并且该值包含秒数时,在Chrome上使用datetime本地输入类型似乎不起作用。为什么会这样?这似乎是一般的事情。简单来说,以下是如何重新创建问题:

  1. 创建一个输入元素,其中type='datetime-local'
  2. 使用JavaScript(使用. value)将值设置为任意日期和时间,并带有非零秒(例如。'1980-01-01T01:01:01.001')值。
  3. 尝试提交表单。它返回一个验证错误。

但是,如果您将秒数设置为0(例如,1980-01-01T01:01:00.001),或者该值是通过HTML属性设置的,则不会抛出验证错误,表单也可以正常提交。

请参阅此CodePen示例:http://codepen.io/AskYous/pen/KNONVG

共有2个答案

黄聪
2023-03-14

这似乎是Chrome中的一个bug。我找到了解决办法。使用。setAttribute()函数

datetimeInput.set属性('value','1980-01-01T01:01:01.001');

徐友樵
2023-03-14

这是HTML标准定义的预期行为。

type=datetime local的默认step值为1分钟。默认步骤基数为Unix epoch 1970-01-01T00:00:00。因此,1980-01-01T01:01:01.001会导致步骤不匹配验证错误。

如果指定了min属性或value属性,则它将作为步骤基础。

 类似资料:
  • 输入[type=“datetime local”]行为在chrome 81和83之间发生了更改 论铬 在chrome 83上,这种行为已经改变:回车键触发日历的打开,并且没有键盘事件被触发(参见saucelabs上的行为)-chrome 83 以下代码(也在https://jsfiddle.net/os139hw6/) 显示keyup 13事件 我使用这个keyup 13事件来验证/提交数据,但这

  • 属性不能与一起使用。这种情况只在Chrome中发生。

  • 根据ISO 8601编码的日期和时间(年,月,日,小时,分钟,秒,分数),没有时区信息。 例子 (Example) <!DOCTYPE HTML> <html> <body> <form action = "/cgi-bin/html5.cgi" method = "get"> Local Date and Time : <input type = "datet

  • 我正在使用html5日期输入,但在新表单中Chrome没有正确显示完整值。格式是DD-MM-YYYY,但YYYY部分显示为空白。不过,我可以看到值在那里。 似乎输入右侧的空白是为控件保留的(交叉到清除值、上/下箭头、下拉箭头)。 我没有空间来扩大输入范围。如何使完整日期可见? 例子:http://jsfiddle.net/U6MYy/

  • 我创建了一个带有字段date_time的表,它的数据类型是datetime。 我正在使用PHP从这个表中获取记录,我想在超文本标记语言页面中显示这个日期和时间。 我正在设置它的value属性,但它不显示日期,是否需要执行任何转换以在HTML输入中显示此日期时间?

  • 我试图实现的是,当我按下编辑按钮时,datetime-local的文本值将被复制到编辑行,这对其他字段有效,但对datetime-local无效。