スクリプトに小さな問題があり、9 つを超える入力の合計を取得できません。
最大 9 個までは正常に機能していますが、新しい入力フィールドを追加すると機能しなくなります。
入力とボタンの分割:
<div id="valuesContainer">
<input type="text" id="value01" />
<input type="text" id="value02" />
<input type="text" id="value03" />
<input type="text" id="value04" />
<input type="text" id="value05" />
<input type="text" id="value06" />
<input type="text" id="value07" />
<input type="text" id="value08" />
<input type="text" id="value09" />
</div>
<input type="button" value="Add Value" id="addMore" onclick="addInput();" />
<input type="button" value="Calculate Total" onclick="getTotal();" />
<div id="total"></div>
新しい入力フィールドを追加する関数で合計を行う Javascript。
<script type="text/javascript">
var max = 9;
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("value0" + i));
}
document.getElementById("total").innerHTML = sum;
}
</script>