点按钮在javascript计算器中不起作用

问题描述 投票:0回答:1

我正在制作此计算器应用程序,并且一切正常,我几乎完成了,但是单击它时屏幕上的点按钮存在问题,它在控制台中给了我这个错误:

The specified value "." is not a valid number. The value must match to the following regular expression: -?(\d+|\d+\.\d+|\.\d+)([eE][-+]?\d+)?

这里是代码:

<input type="number" placeholder="Enter A Number...." step="0.01">

<td><button id="dot">.</button></td>

dot.addEventListener("click", function() {
    input.value += this.textContent;
    re1 = input.value;
})

我还添加了这段代码,以防止输入任何特殊字符:

input.onkeypress = function(e) {
var chr = String.fromCharCode(e.which);
if ("1234567890qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM.".indexOf(chr) < 0)
    return false;
};

但是如果我将其注释掉,也不会发生任何事情,所以我不知道问题出在哪里。

任何帮助将不胜感激,并预先感谢。

编辑:这是应用程序的codepen,因此您可以自己查看问题

javascript html dom addeventlistener
1个回答
0
投票

将类型更改为text,而不是number

<input type="text" placeholder="Enter A Number....">
© www.soinside.com 2019 - 2024. All rights reserved.