为什么我的警报始终显示错误的信息?(加成)

Jac*_*vis 2 html javascript alert radio


我目前正在使用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>
Run Code Online (Sandbox Code Playgroud)

页面中间有两个输入框,只接受数字.
它们下面是四个单选按钮 - 添加,分割,乘法和减法.现在,您可以在页面顶部看到javascript.

我遇到的问题是,当我运行页面并想要添加两个数字时,代码可以正常工作,但答案是0.我已经在chrome中测试了这个,这种情况一直都在发生.

有人可能请帮忙吗?

p.s*_*w.g 8

问题在于你是如何尝试从输入元素中获取值的.在这段代码中:

var valueOne = Number(document.getElementById("number1".value));
var valueTwo = Number(document.getElementById("number2".value));
Run Code Online (Sandbox Code Playgroud)

你试图让value从属性字符串 "number1",这是undefined,那么它们递过来document.getElementById,它会返回null,然后递过来Number,这将返回0.

试试这个:

var valueOne = Number(document.getElementById("number1").value);
var valueTwo = Number(document.getElementById("number2").value);
Run Code Online (Sandbox Code Playgroud)


Den*_*edo 6

试试这个:

var valueOne = Number(document.getElementById("number1").value);
var valueTwo = Number(document.getElementById("number2").value);
Run Code Online (Sandbox Code Playgroud)

你有错误的地方.