2015-10-20 26 views
1

我想在输入表单中输入数字,并在用户按Enter键时显示输入的数字。带3位小数的输入表单号错误html

<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链接:

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

+1

它有什么样的错误?我刚刚检查并没有看到任何奇怪的东西 –

+0

是的,小提琴也适合我。 – krlzlx

+0

当我输入1.123时,它显示1123.它删除点字符。但是,如果我输入1.1或1.12或1.1234等,情况并非如此。我正在使用firefox –

回答

2

我发现,并且可以帮助你。如果你的定位是不是EN-US你可能有一个问题:)

因此,要解决您的输入控制问题,试图指定至少lang属性的控制,就像这样:

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

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

+0

谢谢!其实我是在瑞士。 lang =“en”解决了我的问题 –

+0

很高兴知道我是否遇到这种行为。 – krlzlx