javascript - 结果不显示

标签 javascript html math

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript">
    var result = document.getElementById('answer').value;
    if (document.getElementById('add')) {
        function myFunction() {
            add1 = document.getElementById('num1').value;
            add2 = document.getElementById('num2').value;
            ans = (parseInt(add1)+parseInt(add2));
            result.innerHTML = ans;
        }
    }
</script>
</head>
<body>
<input type="text" id="num1" />
    <select id="problem">
        <option id="add">+</option>
        <option id="sub">-</option>
        <option id="mul">x</option>
        <option id="div">÷</option>
    </select>
<input type="text" id="num2" />
<br />
<input type="submit" onclick="myFunction();" />
<br />
<input type="text" id="answer" readonly />
</body>
</html>

我正在尝试通过从两个文本框中获取值来制作求和求解器,在单击按钮后,它应该将结果发布在下面的文本框中。然而它并没有这样做。

我还希望程序可以更改使用带有数学符号的下拉菜单解决问题的方式。

谢谢。

最佳答案

我想你正在寻找这样的东西

function myFunction() {
    var result = document.getElementById('answer'),
        operator = document.getElementById('problem').value,
        add1 = document.getElementById('num1').value,
        add2 = document.getElementById('num2').value,
        ans = 0;

    switch (operator) {
        case '+':
            ans = (parseInt(add1) + parseInt(add2));
            break;
        case '-':
            ans = (parseInt(add1) - parseInt(add2));
            break;
        case 'x':
            ans = (parseInt(add1) * parseInt(add2));
            break;
        case '÷':
            ans = (parseInt(add1) / parseInt(add2));
            break;
    }

    result.value = ans;
}

无需使用 if 语句和创建不同的函数,只需使用一个函数并确定操作数即可。

编辑:另外,请注意您的变量声明。未声明“ans”、“add1”和“add2”,这导致创建了全局变量

关于javascript - 结果不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20851985/

相关文章:

javascript - 我可以添加交互性 (JS/CSS) 来影响 Bodymovin/Lottie 动画中的元素吗?

javascript - Three.js Globe - 让国家/地区可点击

asp.net - window.location 更改失败 AJAX 调用

javascript - 如何使用jquery在鼠标点击时显示列表?

Javascript 正则表达式 url 替换

python - 在 Flask 中显示新图表

javascript - css3 或 Javascript 中的页面过渡幻灯片

c++ - 确定旋转对象的位置

delphi - 用于确定页面中结果数量的数学

python - 使用 SymPy 查找复数多项式的所有根