Есть ли способ использовать формат ISOLocal для нескольких вводов даты - PullRequest
0 голосов
/ 02 октября 2019

У меня есть несколько полей ввода даты, и каждое из них должно иметь одинаковую функциональность. Ввод даты начинается с текущего дня и позволяет выбрать только один год от текущей даты. Функция отлично работает для первого блока, но, что бы я ни пытался, я не могу заставить ее работать на всех из них одновременно. Вот что у меня есть:

<input type="date" id="datepicker2">
<input type="date" id="datepicker3">


<script>
// Formt date as YYYY-MM-DD
function formatISOLocal(d) {
  let z = n => ('0' + n).slice(-2);
  return d.getFullYear()+'-'+z(d.getMonth()+1) + '-' + z(d.getDate());
}

window.onload = function() {
  let inp = document.querySelector('#datepicker1');
  let d = new Date();
  inp.min = formatISOLocal(d);
  inp.defaultValue = inp.min;
  d.setFullYear(d.getFullYear() + 1);
  inp.max = formatISOLocal(d);
  // Debug
  console.log(inp.outerHTML);
}

</script>

И ссылка на Fiddle здесь

...