This JavaScript code will automatically change the MIN value of a DATE input to the desired start DATE.
Checkout the Codepen DEMO.
In this example, we will change the MIN value of the DATE input to start three days from today’s date by using the addDays function.
Unselectable past dates will be greyed out, including today, tomorrow, and the day after relative to when the form is opened.
Today’s date:
Date input:
HTML Code:
<p><strong>Today's date:</strong> <span id="today"></span></p> <p><strong>Date input:</strong> <input type="date" id="date-input"></p>
JavaScript Code:
// Grab today's date using JavaScript var today = new Date(); // Format the date as Y-m-d today = today.toJSON().slice(0, 10); // Show today's date document.getElementById("today").innerHTML = today; // Function to add more days to a JS date function addDays(date, days) { var result = new Date(date); result.setDate(result.getDate() + days); return result; } document.addEventListener('DOMContentLoaded', function() { // Grab today's date var today = new Date(); // Add 3 days and create a new date variable var newDate = addDays(today, 3); // Format the date as Y-m-d newDate = newDate.toJSON().slice(0, 10); // Attach the new MIN value to the desired DATE input var input = document.getElementById("date-input"); input.setAttribute("min", newDate); }, false);