Con el siguiente HTML, cuando escribo el valor 3 en la entrada y hago clic en submit , Chrome (al menos) muestra el siguiente error en una ventana emergente:
Please enter a valid value. The two nearest valid values are 2.0001 and 3.0001.Esto no tiene sentido. Establecí el valor mínimo en 0.0001 y estoy ingresando 3 que es mayor que 0.0001 .
document.getElementById('form').onsubmit = function(e) { e.preventDefault() } <form id="form"> <input placeholder="0.000" id="something" type="number" name="something" min="0.0001" required> <button type="submit">submit</button> </form>El valor predeterminado para el atributo de step es 1 , y dado que tiene un min aplicado en su entrada, no hay una integral n tal que min + n * step ( 0.0001 + n * 1 ) sea igual a 3 .
Puede cambiar el paso a 0.0001 o any .
document.getElementById('form').onsubmit = function(e) { e.preventDefault(); console.log(e.target.elements[0].value); } <form id="form" onsubmit="onSubmit"> <input placeholder="0.000" id="something" type="number" name="something" min="0.0001" step="any" required > <button type="submit">submit</button> </form>