我正在尝试使用HTML,CSS和Javascript制作一个简单的计算器。我已经完成了计算部分和设计,但是我的DEL按钮很难。我的DEL按钮应该退回计算器上按下的最后一个键。
我在.js上创建了一个名为del()的函数,这就是它到目前为止的样子:
function del()
{
document.getElementById("dis").value = (document.getElementById("dis").value.getLength) - 1;
}
“dis”是我的计算器显示的ID。
答案 0 :(得分:1)
尝试这个
var val = document.getElementById("dis").value;
if(val.length > 0){
val = val.substring(0, val.length - 1);
document.getElementById("dis").value = val;
}
答案 1 :(得分:0)
因为您的代码将显示的值设置为:
(document.getElementById("dis").value.getLength) - 1
显示值的位数减去1的位数(字符串长度),因此如果值为“500”,则将其设置为2(3-1)。显然不是你想要的。
你想要的是获取值,将其减少到你想要的字符(可能是substr()
),然后将值重新设置为该字符串。
答案 2 :(得分:0)
.getlength
未定义。如果您想要字符串的长度,则应使用str.length
。无论如何,如果你想删除最后一个字符,请使用此
str=str.substr(0,-1);
或者,对于您的代码
document.getElementById("dis").value = document.getElementById("dis").substr(0,-1);
答案 3 :(得分:0)
您需要使用字符串操作... MDN
这样的事情应该有效:
document.getElementById("dis").value = document.getElementById("dis").value.slice(0, -1)