1

我目前正在做一个学校项目,我必须使用 javascript 创建一个页面,用户可以从输入框中键入多个数字。

输入每个数字后,有一个添加按钮,然后在输入下方的另一个框中显示数字。所以每个数字都垂直向下显示在页面上。

从那里我需要两个按钮。第一个计算哪个会将数字相加并计算出平均值。第二个将清除数组以重新开始。

我相信我对最后两个按钮没问题。我不确定的是用户输入应该如何创建动态数组,然后将其显示在页面中。我已经能够获得单个数字输入,但我错过了下一步,因此输入的下一个数字将显示并允许我构建一个可以执行计算的数组。

4

2 回答 2

0

最简单的方法是循环显示数字的输入并以这种方式添加每个数字,而不是尝试维护从第一个输入更新的数组。

将显示元素粘贴input到带有 的容器中id,然后您可以执行以下简单操作:

var container = document.getElementById("container-id"),
    inputs = container.children,
    total;

for (var x = 0, y = inputs.length; x < y; x++) {
    total += parseInt(inputs[x].value, 10);
}

alert(total) //do something way better than alert!
于 2012-10-15T10:54:19.950 回答
0

请试试这个,我认为它对你有用

JAVA脚本:

    <script type="text/javascript">
    var arr = new Array();
    function addNum()
    {
    var temp = document.getElementById('a').value;
    arr.push(temp);
    document.getElementById('a').value = "";
    getAvg();
    }

    function getAvg()
   {
    var sum = 0;
    for(var i = 0; i < arr.length; i++){
        sum += parseInt(arr[i]);
    }

    var avg = sum/arr.length;

    document.getElementById('sum').value = sum;
    document.getElementById('avg').value = avg;


      }

function clearAll()
{
    arr.length = 0;
    document.getElementById('a').value = "";
    document.getElementById('sum').value = "";
    document.getElementById('avg').value = "";
}
</script>

HTML:

       <table>
        <tr><td><input type="text" id="a"></td>
        <td>Sum :<input type="text" id="sum"></td>
        <td>Avg :<input type="text" id="avg"></td></tr>
      <tr><td><input type="button" value="add" onclick="addNum()"></td>
      <td><input type="reset"  value="reset" onclick="clearAll()"></td></tr>

     </table
于 2012-10-15T11:20:14.870 回答