Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在php中将多个文本框中的值添加到单个文本框中_Javascript_Php - Fatal编程技术网

Javascript 在php中将多个文本框中的值添加到单个文本框中

Javascript 在php中将多个文本框中的值添加到单个文本框中,javascript,php,Javascript,Php,我有一个表单,里面有一个div,它包含两个文本框,一个用于服务类型,另一个用于金额,还有一个addmore按钮。当我点击“添加更多”按钮时。每个onclick都会复制div。现在,我希望将每个“金额”文本框中的值相加,并显示在另一个“合计”文本框中。我已经创建了一个JS函数来显示在onkeyup上的amount文本框中输入的值。但我没有得到任何答案 这是我到目前为止尝试的代码 HTML 服务类型: 数量: 总金额 Javascript: <script> var i =

我有一个表单,里面有一个div,它包含两个文本框,一个用于服务类型,另一个用于金额,还有一个addmore按钮。当我点击“添加更多”按钮时。每个onclick都会复制div。现在,我希望将每个“金额”文本框中的值相加,并显示在另一个“合计”文本框中。我已经创建了一个JS函数来显示在onkeyup上的amount文本框中输入的值。但我没有得到任何答案

这是我到目前为止尝试的代码

HTML


服务类型:
数量:
总金额
Javascript:

<script>
    var i = 0;
    function duplicate() 
    {                    // function to clone a div    
        var original = document.getElementById('service');
        var rows = original.parentNode.rows;
        var i = rows.length - 1;
        var clone = original.cloneNode(true); // "deep" clone
        clone.id = "duplic" + (i); // there can only be one element with an ID
        original.parentNode.insertBefore(clone, rows[i]);
    }
    function onkeyupsum()
    { // calculate sum and show in textbox
        var sum = 0;
        var amount1= document.getElementById('amount').value;
        sum += parseFloat(amount1);
        document.submitform.tamt.setAttribute("value",sum );
    }
</script>

var i=0;
函数复制()
{//用于克隆div的函数
var original=document.getElementById(“服务”);
var rows=original.parentNode.rows;
var i=行数。长度-1;
var clone=original.cloneNode(true);/“deep”clone
clone.id=“duplic”+(i);//只能有一个id为的元素
original.parentNode.insertBefore(克隆,行[i]);
}
函数onkeyupsum()
{//计算总和并显示在文本框中
var总和=0;
var amount1=document.getElementById(“金额”).value;
sum+=parseFloat(amount1);
document.submitform.tamt.setAttribute(“值”,总和);
}

有谁能告诉我如何将文本框值从复制的div提取到文本框。

您应该做的是给输入指定公共类名,然后在
onkeyupsum
中选择所有输入并计算循环中的总和:

function onkeyupsum() { // calculate sum and show in textbox
    var sum = 0,
        amount = document.querySelectorAll('.amount'), i;
    for (i = 0; i < amount.length; i++) {
        sum += parseFloat(amount[i].value || 0);
    }
    document.submitform.tamt.value = sum;
}
函数onkeyupsum(){//计算总和并显示在文本框中
var总和=0,
amount=document.querySelectorAll('.amount'),i;
对于(i=0;i
输入将如下所示:

<input type="text" name="amount" class="amount" onkeyup="onkeyupsum()" />


演示:使用Jquery为这类东西提供更大的灵活性。用Jquery回答是允许的?很好!很高兴它有帮助!
<input type="text" name="amount" class="amount" onkeyup="onkeyupsum()" />