gpt4 book ai didi

javascript - 为什么我的警报总是显示错误的信息? (添加)

转载 作者:太空宇宙 更新时间:2023-11-04 13:34:54 25 4
gpt4 key购买 nike


我目前正在使用 HTML 和 Javascript 编写一些代码。我正在为自己构建一个迷你 Javascript 计算器,它可以使用 HTML“GUI”运行简单的加法运算 - 如果您采用这种方式。代码如下。

<!DOCTYPE html>
<html lang="en">
<head>
<link href="stylesheet/calculator.css" type="text/css" rel="stylesheet" />
<script>
function activeButton() {
if (document.getElementById("radioAdd").checked === true) {
var valueOne = Number(document.getElementById("number1".value));
var valueTwo = Number(document.getElementById("number2".value));
var result = valueOne + valueTwo;
alert("Your Result Is " + result);
}
}
</script>
</head>
<body>
<div id="wrapper">
<div id="form-move">
<form name = "calculator" id="calculator">
<div id="numberInput">
<input type="number" name="inputNumber1" id="number1" placeholder="Type or Select Your First Number" />
<input type="number" name="inputNumber2" id="number2" placeholder="Type or Select Your Second Number" />
</div>
<div id="radio-input">
<span class="title">Operators:</span>
<input type="radio" name="radioInputAdd" id="radioAdd" value="Addition" />
<label for="radioAdd">Addition</label>
<input type="radio" name="radioInputAdd" id="radioDivision" value="Division" />
<label for="radioDivision">Division</label>
<input type="radio" name="radioInputAdd" id="radioMultiply" value="Multiplication" />
<label for="radioMultiply">Multiply</label>
<input type="radio" name="radioInputAdd" id="radioSubtract" value="Subtraction" />
<label for="radioSubtract">Subtract</label>
</div>
<div class="submit">
<input type="submit" value="Enter" id="submit" onclick="activeButton()" />
</div>
</form>
</div>
</div>

页面中间有两个输入框,只接受数字。
它们下方是四个单选按钮 - 加、除、乘和减。现在,您可以看到页面顶部合并了 javascript。

我遇到的问题是,当我运行该页面并想要添加两个数字时,代码有效,但答案如下0. 我已经在 chrome 中测试过了,这种情况一直都在发生。

可能有人可以帮忙吗?

最佳答案

问题在于您如何尝试从输入元素中获取值。在这段代码中:

var valueOne = Number(document.getElementById("number1".value));
var valueTwo = Number(document.getElementById("number2".value));

您正在尝试从 string "number1" 获取 value 属性,它是 undefined ,然后将其传递给 document.getElementById,这将返回 null,然后将其传递给 Number,这将返回 0.

试试这个:

var valueOne = Number(document.getElementById("number1").value);
var valueTwo = Number(document.getElementById("number2").value);

关于javascript - 为什么我的警报总是显示错误的信息? (添加),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21342875/

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