Estoy un poco confundido en cuanto a por qué mi script JS no funciona, lo configuré para completar el campo de fecha a la fecha de hoy, pero el selector de fecha HTML aún muestra dd/mm/yyyy de forma predeterminada.
mi HTML es:
<div class="col"> <label for="date">Date</label> <input type="date" onload="getDate()" class="form-control" id="date" name="date"> </div>mi JS es:
function getDate(){ var today = new Date(); document.getElementById("date").value = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2); } function getDate(){ var today = new Date(); document.getElementById("date").value = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2); } <div class="col"> <label for="date">Date</label> <input type="date" onload="getDate()" class="form-control" id="date" name="date"> </div>Para los elementos de entrada, el atributo onload solo se admite cuando <input type="image">
Sugerencia: utiliza DOMContentLoaded para establecer el valor predeterminado
<script> window.addEventListener('DOMContentLoaded', (event) => { document.getElementById("date").valueAsDate = new Date(); }); </script>Referencia: https://www.w3schools.com/tags/att_onload.asp
Tuve algunos problemas con eso también. Llegué al:
document.getElementById('mydate').value = new Date().toISOString().substring(0, 10);