输入带有 3 位小数错误的表单编号 html

input form number with 3 decimals bug html

我想在输入表单中输入数字并在用户按 Enter 时显示输入的数字。

<input type="number"  onKeyPress="if (event.keyCode == 13) { myFunction(this); }"></input>
<p id="demo"></p>

function myFunction(that) {
       document.getElementById("demo").innerHTML = that.value;
   }

一切正常,除非我输入一个恰好有 3 位小数的数字(例如 0.123)。该错误仅发生在具有 3 位小数的数字上。这绝对是胡说八道。

这是 jsfiddle 的 link:

http://jsfiddle.net/ckfnd445/2/

我的发现可能对您有所帮助。如果您的本地化不是 en-us,您可能会遇到问题 :)

因此,要解决您的输入控件问题,请尝试至少为控件指定 lang 属性,如下所示:

<input type="number" lang="en" onKeyPress="if (event.keyCode == 13) { myFunction(this); }"></input>

您可能还想指定 step="any" 让您的浏览器正确验证控件(因为默认步骤是 1)。或者你可能想禁用它的验证