He estado buscando en esta página (entre otros foros) en busca de una respuesta para limitar un selector de fecha a 14 días desde el día en que un usuario accede a la página. Integrado en el selector de fecha hay una opción para la 'fecha de hoy' que se configura automáticamente y establece la opción de fecha en DD/MM/AA de hoy, por lo que deduzco que esto se puede lograr. Lo que busco es que todas las fechas después de 14 días a partir de 'hoy' estén atenuadas y no seleccionables . Podría desarrollar esto aún más para que no se puedan seleccionar fechas anteriores a 'hoy', pero lograr un límite de 14 días después de 'hoy' sería genial por ahora.
Estoy familiarizado con la fecha máxima y la fecha mínima, que requieren un formato preciso de DD/MM/AA para establecer límites entre las fechas enumeradas. Necesito algo como 'fecha máxima: hoy + 14'
Necesito algo como 'fecha máxima: hoy + 14'
Esta es básicamente su respuesta, es decir, "establezca el atributo máximo para today + 14 y el atributo mínimo para today ". Bastante sencillo de hacer en JavaScript:
const datePicker = document.getElementById("date-picker"); datePicker.min = getDate(); datePicker.max = getDate(14); // Borrowed from https://stackoverflow.com/a/29774197/7290573 function getDate(days) { let date; if (days !== undefined) { date = new Date(Date.now() + days * 24 * 60 * 60 * 1000); } else { date = new Date(); } const offset = date.getTimezoneOffset(); date = new Date(date.getTime() - (offset*60*1000)); return date.toISOString().split("T")[0]; } <input id="date-picker" type="date" autocomplete="off" />