我目前正在使用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。左边我遇到的问题是,当我运行页面并想要添加两个数字时,代码可以正常工作,但答案是我在chrome中测试了这个,这种情况一直都在发生。
有人可能请帮忙吗?
答案 0 :(得分:8)
问题在于你是如何尝试从输入元素中获取值的。在这段代码中:
var valueOne = Number(document.getElementById("number1".value));
var valueTwo = Number(document.getElementById("number2".value));
您尝试从{em>字符串 value
获取"number1"
属性,即undefined
,然后将其传递给document.getElementById
,它将返回null
,然后将其传递给Number
,这将返回0
。
请尝试这样做:
var valueOne = Number(document.getElementById("number1").value);
var valueTwo = Number(document.getElementById("number2").value);
答案 1 :(得分:6)
试试这个:
var valueOne = Number(document.getElementById("number1").value);
var valueTwo = Number(document.getElementById("number2").value);
您的括号位于错误的位置。