如何获取auto + javascript输入字段

时间:2013-01-20 00:47:41

标签: javascript

我正在尝试从字段中获取autosum,问题是如果字段总数没有值,则脚本无法正常工作,并且如果再次有超过7个字段,则脚本无效。< / p>

这是javascript:

function getTotal()
{
    var value01 = document.getElementById('value01').value;
    var value02 = document.getElementById('value02').value;
    var value03 = document.getElementById('value03').value;
    var value04 = document.getElementById('value04').value;
    var value05 = document.getElementById('value05').value;
    var value06 = document.getElementById('value06').value;
    var value07 = document.getElementById('value07').value;

    // Add them together and display
    var sum = parseInt(value01) + parseInt(value02) + parseInt(value03) + parseInt(value04) + parseInt(value05) + parseInt(value06) + parseInt(value07);
    document.getElementById('sum_total').value = sum;
}

输入:

<input type="text" id="value01" />
<input type="text" id="value02" />
<input type="text" id="value03" />
here is starting to be added with a button more input fields.
<input type="text" id="+" />
<input type="text" id="++" />
<input type="button" value="Add Them Together" onclick="getTotal();" />

我的问题是,如何在var值01 02 03等上获得自动+。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

你的问题不是很清楚,所以我不太清楚你想做什么,所以请随时提供最佳帮助澄清。在这方面,基于你提供的内容,我有两点要指出:

1)您的“+”ID无效。根据{{​​3}}:

  

ID和NAME令牌必须以字母([A-Za-z])开头,可能是   后跟任意数量的字母,数字([0-9]),连字符(“ - ”),   下划线(“_”),冒号(“:”)和句点(“。”)。

2)我建议创建一个可以在for循环中使用的函数来确定每个增量输入的总和,而不是创建包含每个值的不同var。如果输入数量增加,这将更加干燥并有助于简化事情。

function getValues(id){
    return document.getElementById(id).value;
}

下面的纯JavaScript解决方案从一个输入框开始,只需点击一个按钮即可添加其他输入,我相信这就是您所需要的。你可以相应地修改初始输入框的数量,但它应该给你一个想法。

使用Javascript:

var max = 1;

function getValues(id){
    var result = document.getElementById(id).value;
    return (result ? result : 0);
}

function addInput(){
    max++;
    var input = '<input type="text" id="value'+ max +'" />';
    document.getElementById("valuesContainer").innerHTML += input;
}

function getTotal(){
    var sum = 0;
    for(var i=1; i <= max; i++){
        sum = sum + parseFloat(getValues("value" + i));
    }
    document.getElementById("total").innerHTML = sum;
}

HTML:

<div id="valuesContainer">
<input type="text" id="value1" />
</div>
<input type="button" value="Add Value" id="addMore" onclick="addInput();" />
<input type="button" value="Calculate Total" onclick="getTotal();" />
<div id="total"></div>

演示:HTML 4 spec