Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.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 产量增加了一倍_Javascript_Sum - Fatal编程技术网

Javascript 产量增加了一倍

Javascript 产量增加了一倍,javascript,sum,Javascript,Sum,我有以下代码: <script type="text/javascript"> function showTotal(form, totalEl) { var el, els = form.elements; var sum = 0; for (var i=0, num=els.length; i<num; ++i){ el = els[i]; if ('text' == el.type){ //&& /SumB/.test(el

我有以下代码:

<script type="text/javascript">
function showTotal(form, totalEl)
{
  var el, els = form.elements;
  var sum = 0;

  for (var i=0, num=els.length; i<num; ++i){
    el = els[i];

    if ('text' == el.type){ //&& /SumB/.test(el.name)
      sum += +el.value;
    }
    form.elements[totalEl].value = sum;
  }
}
</script>

函数showTotal(表单,totalEl)
{
var el,els=形式元素;
var总和=0;

对于(var i=0,num=els.length;i如果您尝试,它是否有效

<script type="text/javascript">
function showTotal(form, totalEl)
{
  var el, els = form.elements;
  var sum = 0;

  for (var i=0, num=els.length; i<num; ++i){
    el = els[i];

    // Do not include totalEl
    if ('text' == el.type && el != form.elements[totalEl]) {
      sum += +el.value;
    }
  }
  form.elements[totalEl].value = sum;
}
</script>

函数showTotal(表单,totalEl)
{
var el,els=形式元素;
var总和=0;

对于(var i=0,num=els.length;i它将以现在编写的方式在“sum”文本元素中添加值。使用一个类,或在添加后从新总数中减去当前总数,或在循环之前将元素归零


正如另一个答案所提到的,设置“总和”字段的部分也不应该在循环中。

如果total元素本身就是一个元素,您是否也将它添加到它本身?也许可以将所有元素中的一些元素(最后一个除外)!哇!!您的天才!!我为什么不考虑这个;)现在尝试在循环中反复设置它,但这只是效率低下,不是问题所在。然后尝试从总和中排除
totalEl
的值:
if('text'==el.type&&el!=form.elements[totalEl])…
谢谢我修复了循环和问题!!谢谢你的帮助