Значение параметра Input type = "time" на iOS всегда устанавливает значение текущего времени. - PullRequest
0 голосов
/ 09 июля 2020

У меня есть документ HTML с кнопкой и вводом типа time. Чтобы установить значение ввода на '09: 00 'либо

  • Нажмите кнопку или
  • Установите фокус на вводе

function setTime() {
document.getElementById('timebox').value = "09:00";
}
<input type="button" value="Set time" onclick="setTime()"/>

<input type="time" id="timebox" onfocus="setTime()"/>

Установка значения с помощью кнопки всегда работает отлично.

Установка значения с помощью фокуса работает только на Windows P C , OSx и Android. Это не работает на iOS. Мы тестировали Chrome и Safari. Здесь текущее время используется в качестве значения вместо нашего '09: 00 '

1 Ответ

0 голосов
/ 09 июля 2020

Попробуйте это - мне интересно, лучше ли использовать рекомендуемый код для iOS, иначе мы можем попробовать setTimeout

Я также изменил имя функции, поскольку setTime может быть существующей встроенной функцией на элемент даты

const setMyTime = () => document.getElementById('timebox').value = "09:00";

window.addEventListener("load",function() {
  document.getElementById("but")
          .addEventListener("click",setMyTime);
  document.getElementById("timebox")
          .addEventListener("focus", function() { setTimeout(setMyTime,50) });
})  
<input type="button" value="Set time" id="but"/>

<input type="time" id="timebox" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...