gpt4 book ai didi

JavaScript 计数错误

转载 作者:行者123 更新时间:2023-11-28 18:49:29 25 4
gpt4 key购买 nike

我创建了一个 JavaScript 计算器,并且我对所有内容都使用了变量,但它不起作用。
我尝试使用 document.getElementById("box1").value 而不是仅使用 v1 ,我发现有些东西发生了变化,我得到了 1111 如果我输入 11 + 11,它不同,为什么?
我不知道问题出在哪里,我尝试了一些方法但没有任何改变。

这是我的代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JS calculator</title>
</head>
<body>
<input id="box1" type="text" placeholder="Number one" />
<select name="" id="select">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input id="box2" type="text" placeholder="Number two" />
<button onclick="count()">Check</button>
<a id="output"></a>
<script>
var v1 = document.getElementById("box1").value;
var v2 = document.getElementById("box2").value;
var sel = document.getElementById("select").value;
var out = document.getElementById("output").innerHTML;
function count() {
if (sel === "+") {
out = v1 + v2;
}
else if (sel === "-") {
out = v1 - v2;
}
else if (sel === "*") {
out = v1 * v2;
}
else if (sel === "/") {
out = v1 / v2;
}
else {
out = "Error Error Error!"
}
}
</script>
</body>
</html>

谢谢! :)

最佳答案

您的脚本中有 3 个问题。

首先,您应该在 count() 函数中获取元素值(因为您希望在每次有人单击复选按钮时读取这些值)。

其次,您不应该读取输出值,而应该写入它。

第三,您必须将输入值转换为 int 以避免出现以下情况:1 + 1 = 11。

function count() {
var v1 = parseInt(document.getElementById("box1").value);
var v2 = parseInt(document.getElementById("box2").value);
var sel = document.getElementById("select").value;
var out;
if (sel === "+") {
out = v1 + v2;
} else if (sel === "-") {
out = v1 - v2;
} else if (sel === "*") {
out = v1 * v2;
} else if (sel === "/") {
out = v1 / v2;
} else {
out = "Error Error Error!"
}
document.getElementById("output").innerHTML = out;
}

Here is a fiddle with an example solution

关于JavaScript 计数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34711706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com