首页 > 解决方案 > js数学函数返回nan

问题描述

我正在尝试编写几个简单的 js 函数,而第一个(也是最简单的)似乎不起作用。这是我的html页面,我没有css。FunctionLib.js 是我的文件和其他脚本导入 jquery(它在我的其他项目中完美运行)我只需要在单击按钮后显示函数 squareSum 的答案。

<!DOCTYPE html>
<html lang="en">

<!-- МЕТА-ІНФОРМАЦІЯ -->
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="js/FunctionLib.js"></script>
</head>
<body>
<div class="square-sum">
    <form name="mathematics">
        Enter х: <input type="number" id="x-square"> <br>
        Enter y: <input type="number" id="y-square"> <br>
        <button onclick="squareSumContainer()">OK</button>
    </form>
    <p>x^2+y^2 = <span id="square-answer"></span></p>
</div>
</body>
</html>

和我的 js 文件:

function squareSum(a, b) {
    return a * a + b * b;
}

function squareSumContainer() {
    var x = parseInt($('#x-square').html(), 10);
    var y = parseInt($('#y-square').html(), 10);
    $("#square-answer").html(squareSum(x, y));
    //document.getElementById("square-answer").innerHTML = myFunction(4, 3);
    var answer = squareSum(x, y);
    //alert(answer);
}

当我按下按钮时,什么也没发生。我尝试使用警报来显示答案,它似乎是 NaN。我对js非常陌生,所以我根本不知道该怎么做。

标签: javascriptjqueryhtmlfunction

解决方案


正如@Bravo 和@freedomn-m 所说,问题出在我尝试在输入上使用 .html() 而不是 .val() 的部分


推荐阅读