function storeBooking( start ) { sessionStorage.start = start; } function getBooking() { document.getElementById("confirm_start").textContent = sessionStorage.start; } function prefillcard() { document.getElementById("start").value = sessionStorage.start; } window.addEventListener("DOMContentLoaded", prefillcard); <form> <label for="start">Date of birth:</label> <input type="date" id="start" required="required" name="date of birth" value="2021-10-04" /> <input type="submit" value="Apply"> </form>Entonces, lo que básicamente configuré aquí es que la fecha de nacimiento se almacene en el almacenamiento de la sesión y luego, si el usuario decide completar el formulario nuevamente en la misma sesión del navegador, completará automáticamente la fecha de nacimiento en la forma.
El único problema es que cuando lo pruebo, aparece como dd/mm/yyyy , a pesar de que funciona para otros valores ingresados. La única diferencia entre esos y la fecha de nacimiento es que esos eran entradas de texto y esta es una entrada de fecha. ¿Cómo haría para almacenar, recuperar y luego completar automáticamente un formulario con una entrada de fecha?
Utilice window.sessionStorage.setItem("Name", Value)); y window.sessionStorage.getItem("Name");
En su caso usando JQuery, puede usar su propio js de vainilla si no está usando JQuery
$( "#start" ).on( "change", function() { var sdt = $("#start").val(); window.sessionStorage.setItem("startDT", sdt)); }); function prefillcard() { if (window.sessionStorage.getItem("startDT")) { var sdt = window.sessionStorage.getItem("startDT"); $("#start").val(sdt); } }Versión sin JQuery
document.getElementById("start").addEventListener("change", function() { var sdt = document.getElementById("start").value; window.sessionStorage.setItem("startDT", sdt)); }); function prefillcard() { if (window.sessionStorage.getItem("startDT")) { var sdt = window.sessionStorage.getItem("startDT"); document.getElementById("start").value = sdt; } }Usar setAttribute debería funcionar, así que algo como:
document.getElementById("dateElementID").setAttribute('value', '2021-04-30')