繁体   English   中英

从输入字段中获取数值,并使用它们来计算梯形的表面积

[英]Get numerical values from input fields and use them to calculate the surface area of a trapezoid

我是Java语言的新手,如果有人帮助我了解我在做什么错,我将非常感谢。 我试图通过从输入字段中获取值来计算梯形的表面积。 当我按下“计算S”按钮时,我得到一个“ Nan”作为答案。 这是HTML代码的主要部分:

    <form method="post">
    <label for="a">a</label>
    <input type="text" id="a"/> <br/>
    <label for="b">b</label>
    <input type="text" id="b"/> <br/>
    <label for="h">h</label>
    <input type="text" id="h"/> <br/>
    <button onclick="alert(S)">Calculate S</button>
    </form>

这是我用来获取值并计算表面的脚本:

           <script type="text/javascript">
            var a=parseInt(document.getElementById("a"), 10);
            var b=parseInt(document.getElementById("b"), 10);
            var h=parseInt(document.getElementById("h"), 10);
            var S=parseInt(((a+b)/2)*h, 10);
        </script>

提前致谢!

您需要从每个输入中获取值,而不仅仅是从输入中获取值,如下所示:

       <script type="text/javascript">
        var a=parseInt(document.getElementById("a").value, 10);
        var b=parseInt(document.getElementById("b").value, 10);
        var h=parseInt(document.getElementById("h").value, 10);
        var S=((a+b)/2)*h;
    </script>
  1. 在输入元素上使用.value属性获取其内容。 然后对此调用parseInt以获取数字。
  2. 也无需parseInt结果。
    var S = ((a + b) / 2) * h;
  3. 如果希望在单击按钮时执行代码,请将代码包装在可调用函数中(当浏览器解析代码时,现在执行的代码)。

此处找到示例: http : //jsfiddle.net/bpwEh/

更新的代码:

<head>
    <!-- ... -->
    <script>
        function calc(){
            var a=parseInt(document.getElementById("a").value, 10);
            var b=parseInt(document.getElementById("b").value, 10);
            var h=parseInt(document.getElementById("h").value, 10);
            return ((a+b)/2)*h, 10;
        }
     </script>
</head>
<body>
    <form method="post">
        <label for="a">a</label>
        <input type="text" id="a"/> <br/>
        <label for="b">b</label>
        <input type="text" id="b"/> <br/>
        <label for="h">h</label>
        <input type="text" id="h"/> <br/>
        <button onclick="alert(calc()); return false;">Calculate S</button>
    </form>
</body>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM