使用JavaScript计算输入元素中的值的总和

Sta*_*ski 2 javascript arrays sum input getelementbyid

我正在尝试计算显示的许多输入的总和,以便制作发票.所有必须开发票的产品都是我的数据库中的记录器,我编写了这个JavaScript函数来计算总数:

<script type="text/javascript">
function getItems()
 {
 var items = new Array();
 var itemCount = document.getElementsByClassName("items");
 var total = 0;
 for(var i = 0; i < itemCount.length; i++)
 {
     total = total +  document.getElementById("p"+(i+1)).value;
 }

 return total;
 document.getElementById('tot').value= total;
 }
 getItems()</script>
Run Code Online (Sandbox Code Playgroud)

问题是我Uncaught TypeError: Cannot read property 'value' of null 上线了 total = total + document.getElementById("p"+(i+1)).value;

我真的不明白为什么,因为我的所有变量都被声明了.

小智 5

你已经通过使用获得了元素getElementsByClassName,为什么你再次通过id获取它?您可以尝试以下方法:

function getItems()
{
    var items = document.getElementsByClassName("items");
    var itemCount = items.length;
    var total = 0;
    for(var i = 0; i < itemCount; i++)
    {
        total = total +  parseInt(items[i].value);
    }
    document.getElementById('tot').value = total;
}
getItems();?
Run Code Online (Sandbox Code Playgroud)