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

标签 javascript html radio-button alert


我目前正在使用 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/

相关文章:

javascript - 如何使用 jquery $.proxy 事件附加获取当前选定的值

html - 行尾一个字母单词(对齐)

java - 如何通过新 Activity 的响应为 "choose location"来更改一项 Activity 中按钮的文本 "location-india"?

jquery - 想要使用绑定(bind)和取消绑定(bind)。我希望能够在选择单选按钮后将鼠标悬停在其他行上

javascript - 弹出模态窗口时如何禁用背景

javascript - 如何将get请求参数导出到另一个JS文件

html - ionic : background-image not applying correctly

javascript - 如何在 JavaScript 中取消选择输入类型 ='button'

javascript - 满足条件时更改显示

html - 仅在移动设备/小屏幕上显示翻转卡片的背面