0

I am using HTML's <input type='date'>. The year it displays by default is 2021. However, I want people who is at least 13 years old to be able to access my app. Therefore, I want to modify the date in such a way that it always displays the default year as 13 years back and that should also be the last year to select from. For example, as we are in 2021 so people born no later than 2008 should be able to join. So the last year to be shown should be 2008 and this should increase every year automatically. I could do it easily if I had used jQuery datepicker but I am happy with HTML's default input type date option.

Relaxing Music
  • 452
  • 4
  • 13
  • [Set date input field's max date to today](https://stackoverflow.com/q/32378590/215552), [Disable certain dates from html5 datepicker](https://stackoverflow.com/q/17182544/215552), [How can I use input type date to dynamically only allow for one year from current date?](https://stackoverflow.com/q/58191201/215552) – Heretic Monkey Jul 17 '21 at 18:39

1 Answers1

0

You can set the max date to 13 years before the current date programmatically by getting the current date (via the Date() constructor), setting the year to the current year - 13 and assigning it to the max property:

const d = new Date();
d.setYear(d.getFullYear() - 13);
date.max = d.toISOString().split("T")[0]; //this simply converts it to the correct format
date.value = d.toISOString().split("T")[0];
<input type="date" id="date">
Spectric
  • 30,714
  • 6
  • 20
  • 43