Tengo un formulario html que tiene una entrada de fecha de "fecha de creación", una entrada de número de "número de meses" y una entrada de fecha de solo lectura de "fecha de vencimiento".
Básicamente, lo que quiero hacer es cuando el usuario inicializa el valor de "fecha de creación" y luego procede a cambiar el valor de "número de meses", la "fecha de vencimiento" se calculará automáticamente por sí misma en el momento en que el usuario cambie el " número de meses".
Cualquier solución será de gran ayuda. ¡Muchas gracias!
PD: si es importante, usaré un script php para enviar estos valores a un servidor mysql.
Prueba algo como esto a continuación usando Vanilla JS:
let dateCreated = document.getElementById("date-created"); let amtOfMonths = document.getElementById("amt-of-months"); let dueDateInput = document.getElementById("due-date"); dateCreated.onchange = function() {updateDueDate()}; amtOfMonths.onchange = function() {updateDueDate()}; function updateDueDate() { if (dateCreated.value && amtOfMonths.value) { let dueDate = addMonths(dateCreated.value, amtOfMonths.value); dueDateInput.value = dueDate.toLocaleDateString('en-CA'); } } function addMonths(date, months) { let newDate = new Date(date); var day = newDate.getDate(); newDate.setMonth(newDate.getMonth() + +months); if (newDate.getDate() != day) newDate.setDate(0); return newDate; } <label for="date-created">Date created</label><br> <input type="date" name="date-created" id="date-created"><br><br> <label for="amt-of-months">Amount of months</label><br> <input type="number" name="amt-of-months" id="amt-of-months"><br><br> <label for="due-date">Due date</label><br> <input type="date" name="due-date" id="due-date">En este ejemplo, estoy agregando una función onchange a las entradas dateCreated y amtOfMonths. Dentro de la función, estoy comprobando si ambas entradas tienen valores. Si ambas entradas tienen valores, se llama a la función addMonths para calcular la fecha de vencimiento y se establece en la entrada de fecha de vencimiento.
En cuanto al envío a su servidor a través de PHP, puede hacerlo en una función de envío adjunta al elemento de formulario que contiene sus entradas.