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

时间:2014-01-24 21:32:39

标签: javascript html 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>

页面中间有两个输入框,只接受数字。
它们下面是四个单选按钮 - 添加,分割,乘法和减法。现在,你可以看到页面顶部的javascript。左边我遇到的问题是,当我运行页面并想要添加两个数字时,代码可以正常工作,但答案是我在chrome中测试了这个,这种情况一直都在发生。

有人可能请帮忙吗?

2 个答案:

答案 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);

您的括号位于错误的位置。