Javascript-在字段中添加行和总和值

Javascript-在字段中添加行和总和值,javascript,Javascript,我有一个带有此字段的表单,通过按钮我可以添加行:book_desc[],book_pages[]。 图书页数总和[]字段为图书页数总和。 在我的javascript中,我想在每个book_pages字段中添加带值的行,并在book_pages_tot字段中对这些值求和,这就是总值 这是脚本:表单和字段 <form method="POST" action="addpages.php" name="books" onmouseover="javascript:sum();"> <

我有一个带有此字段的表单,通过按钮我可以添加行:book_desc[],book_pages[]。 图书页数总和[]字段为图书页数总和。 在我的javascript中,我想在每个book_pages字段中添加带值的行,并在book_pages_tot字段中对这些值求和,这就是总值

这是脚本:表单和字段

<form method="POST" action="addpages.php" name="books" onmouseover="javascript:sum();">

<button type="button" onClick="addRow('dataTable')">  Add pages </button>
    <table id="dataTable" class="form">
        <input type="text" class="form-control" name="book_pages[]"  onblur="javascript:sum();">
        <input type="text" class="form-control" name="book_pages_total"  onblur="javascript:sum();">
    </table>
</form>

添加页面
javascript:

<script language="javascript">
    function sum() {
        var a = parseInt(document.books.book_pages[].value);
        var result = a +a[];
    document.books.tot_prestazioni_A.value = result;
}       
</script>

函数和(){
var a=parseInt(document.books.book_pages[].value);
var结果=a+a[];
document.books.tot_prestazioni_A.value=结果;
}       
这个脚本不起作用。 如何对book_pages_tot文件中每个book_pages[]中的值求和

我希望能解释我的问题

谢谢使用此功能:

function sum() {
    var inputs = document.books["book_pages[]"],
        result = 0;

    for(var i in inputs){

        var input = inputs[i],
            val   = input.value;
        if(val !== undefined && val !== '')
            result += parseInt(val);
    }
    document.books.tot_prestazioni_A.value = result;
} 

没有任何意义,所以我重写了整件事。
操作是到一个真正的测试服务器,但是由于安全限制,它不会提交,但是如果您自己使用它,它会提交。详细信息在代码段中注释

片段


00A00
按钮
输入{
字体:继承;
}
.页{
宽度:6厘米;
}
添加书本
函数addRow(){
//将第一行引用为行
var row=document.getElementById('original');
//以第一个为主要参考
var main=document.getElementById('dataMain');
//克隆行
var clone=row.cloneNode(true);
//删除克隆的id
clone.removeAttribute('id');
//清除任何数据的克隆
clone.querySelectorAll('input').forEach(函数(inp){
inp.value=“”
});
//将克隆附加为main的最后一个子级
main.appendChild(克隆);
}
函数totalPgs(){
//引用as out
var out=document.getElementById('total');
//使用class.pages将所有节点收集到名为pgs的节点列表中
var pgs=document.querySelectorAll('.pages');
/*名为arr的数组由。。。
||…map.call pgs NodeList在每个名为pg的节点上。。。
||…将每个pg值转换为真值。。。
||…将所有数值作为一个称为arr的数组返回
*/
var arr=Array.prototype.map.call(pgs,function(pg)){
var cnt=parseInt(pg.value,10);
返回cnt;
});
//。将函数sum()应用于名为arr的数组
var总计=适用的总和(总和,arr);
//out的值等于总值
out.value=总计;
//返回total的值
返回总数;
}
/*sum()将接受任意数量的数字并将。。。
||…把他们弄起来。最好与.apply()或.call()配合使用
||用法:
||var totalNumber=总和。应用(总和,数组);
||或
||var totalNumber=sum.call(sum,object);
*/
函数和(){
var-res=0;
var i=0;
变量数量=参数长度;
而(i<数量){
res+=参数[i];
i++;
}
返回res;
}

非常欢迎您,先生,非常感谢。我本来只想打下半场,但我被冲昏头脑了。