Estoy tratando de obtener una fecha directamente desde una entrada de calendario HTML, con un registro de consola simple (para fines de prueba), sin necesidad de un botón.
He probado algunas variaciones del siguiente código:
<div class = "Comparisons_Wrapper"> <input type="date" class="DateSelector" id = "DateSelector" onclick="getDate()"> </div> <script> function getDate(){ var date = document.getElementById("DateSelector").value; console.log(date) } </script> Esperaba que la parte onclick del div llamara a la función al hacer clic en la fecha del calendario, pero en su lugar llama a la función al hacer clic inmediatamente en el cuadro de entrada para abrir el calendario, por lo que inicialmente obtienes una console.log vacía. Inicia sesión el primero hora, y luego, cuando vuelve a hacer clic en el cuadro, obtiene la fecha que ingresó inicialmente. Supongo que esta suposición fue ingenua de mi parte.
Cualquier ayuda sería apreciada,
gracias james
Lo que desea hacer en este caso es agregar un detector de eventos al evento de cambio de la entrada.
var dateInput = document.getElementById("DateSelector"); dateInput.addEventListener('change', function(event) { console.log(event.target.value) }); <div class = "Comparisons_Wrapper"> <input type="date" class="DateSelector" id = "DateSelector"> </div>Use eventos como onchange, de la siguiente manera:
function handler(e){ alert(e.target.value); } <input type="date" class="DateSelector" id="DateSelector" onchange="handler(event);">