Me gustaría llamar a una función para la entrada de un número, que verifique si el número dado es válido. Mi solución fue llamar a la función usando oninput en la etiqueta html:
<input id='tone_length_input_field' type="number" inputmode='decimal' pattern="\d*" min="0.1" max="5" step="0.1" oninput="toneLengthFieldInput(0.1, 5)">Esta es la función javascript a la que llamo:
function toneLengthFieldInput(min, max) { var input = document.getElementById('tone_length_input_field').value; if ((input >= min) && (input <= max)) { document.getElementById('tone_length_slider').value = input; localStorage.setItem('toneLengthEx2', input); } else { alert('please enter a value between 0.1 and 5'); } }Sin embargo, si quiero eliminar el valor del campo de entrada y escribir uno nuevo, se llama a la función cuando elimino el valor actual y, dado que ningún valor es inválido, aparece el mensaje de error antes de poder escribir uno nuevo.
¿Hay alguna manera de llamar a la función solo después de que termine de escribir en el campo de entrada? Muchas gracias por tu ayuda :)