With the below HTML, when I type the value 3
in the input and click on submit
, Chrome (at least) shows the following error in a popup:
Please enter a valid value. The two nearest valid values are 2.0001 and 3.0001.
This doesn't make sense. I've set the minimum value to be 0.0001 and I'm entering 3 which is greater than 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>
CodePudding user response:
The default value for the step
attribute is 1
, and since you've a min
applied on your input, there's no integral n
such that min n * step
(0.0001 n * 1
) equals 3
.
You can change the step to 0.0001
or 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>