当通过Javascript设置该值并且该值包含秒数时,在Chrome上使用datetime本地输入类型似乎不起作用。为什么会这样?这似乎是一般的事情。简单来说,以下是如何重新创建问题:
输入
元素,其中type='datetime-local'
。 . value
)将值设置为任意日期和时间,并带有非零秒(例如。'1980-01-01T01:01:01.001'
)值。但是,如果您将秒数设置为0(例如,1980-01-01T01:01:00.001
),或者该值是通过HTML属性设置的,则不会抛出验证错误,表单也可以正常提交。
请参阅此CodePen示例:http://codepen.io/AskYous/pen/KNONVG
这似乎是Chrome中的一个bug。我找到了解决办法。使用。setAttribute()
函数:
datetimeInput.set属性('value','1980-01-01T01:01:01.001');
这是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无效。