私はJavaScriptと初心者プログラマーに慣れていないので、これは答えるのが本当に簡単な質問かもしれません。x個のフィールドの値をループして合計し、合計を最終フィールドに表示したいと思います。各フィールドを明示的に呼び出すとこの関数を実行できますが、これを抽象化して、柔軟な数のフィールドを処理できるようにします。これが私が思いついたサンプルコードです(それは私にとってはうまくいきません)。どこが間違っているのですか?
<html>
<head>
<script type="text/javascript">
function startAdd(){
interval = setInterval("addfields()",1);
}
function addfields(){
a = document.addition.total.value;
b = getElementByTagName("sum").value;
for (i=0; i<=b.length; i++){
a+=i;
}
return a;
}
function stopAdd(){
clearInterval(interval);
}
</script>
</head>
<body>
<form name="addition">
<input type="text" name="sum" onFocus="startAdd();" onBlur="stopAdd;">
+ <input type="text" name="sum" onFocus="startAdd();" onBlur="stopAdd;">
= <input type="text" name ="total">
</form>
</body>
</html>