Подтвердить что ты не робот

"Недопустимое значение" при установке значения по умолчанию в HTML5 datetime-local input

Может кто-нибудь объяснить, почему, когда я устанавливаю значение по умолчанию для локального ввода datetime с секундами, отличными от: 00, браузер дает мне ошибку "Недопустимое значение."?

Это может быть ошибкой в ​​реализации datetime-local в Chrome, поскольку эта ошибка не отображается в последних версиях Firefox и Safari.

Ошибка в Chrome: 30.0.1599.69

enter image description here

Chrome Canary: 32.0.1665.2 канарейка

enter image description here

Это работает:

<input type="datetime-local" name="pub_date" value="2013-10-09T15:38:00">

Но это не так:

<input type="datetime-local" name="pub_date" value="2013-10-09T15:38:15">

Ссылка на скрипку.

В W3 Spec для элемента ввода datetime-local, атрибут value должен содержать строку "A", представляющую локальную дату и время. "

Example:
1985-04-12T23:20:50.52
1996-12-19T16:39:57

Я попробовал оба примера, и они тоже не работают.

Обновление: подтвержденная ошибка и решение

Это поведение известная ошибка.

На сегодняшний день быстрое исправление заключается в том, чтобы добавить атрибут шага, например, для ненулевых секунд:

<input type="datetime-local" 
       name="pub_date" 
       value="2013-10-09T15:38:15" 
       step="1">
4b9b3361

Ответ 1

Это работает в Chrome версии 52.0.2743.116 м

<input type="datetime-local" name="pub_date" value="2013-10-09T15:38:15" />

Ответ 2

Для браузера Chrome требуется дата в "yyyy-MM-ddThh: mm", за которым следует дополнительный формат ": ss" или ": ss.SSS. Поэтому, когда мы назначаем дату и время, нам необходимо назначить его в необходимом формате, иначе он не покажет дату. Даже мы можем подтвердить из инструмента инспектора браузера [Ctrl + I] на вкладке консоли.

введите описание изображения здесь

Ответ 3

Chrome ищет полный штамп времени, на самом деле нет способа разместить его. Просто обнулите миллисекунды, и вы должны быть хорошими.