How to set the default value to a HTML date input using vanilla JS or jQuery, including a method to set the date to be 1 month from now.
The date input element:
<input type="date" id="todaysDate" name="todaysDate">
Setting the value to be today’s date with vanilla JS:
document.getElementById("todaysDate").valueAsDate = new Date();
Custom date with jQuery:
$("#customDate").val("2004-08-15");
Or setting a custom date such as one month from today’s date:
var the_date = new Date(); the_date.setMonth(1); var yyyy = new Intl.DateTimeFormat("en", { year: "numeric" }).format(the_date); var mm = new Intl.DateTimeFormat("en", { month: "2-digit" }).format(the_date); var dd = new Intl.DateTimeFormat("en", { day: "2-digit" }).format(the_date); var one_month_on = `${yyyy}-${mm}-${dd}`; $("#oneMonth").val(one_month_on);
setMonth(1)
is for setting the date to 1 month in advance. setMonth(6)
would be 6 months advanced.