足し算の問題 (1 + 1 OR 1 + 5 + 2 + 9 など) を解決する簡単な JavaScript を作成しました。それは正常に動作します。
問題は、新しい値が入力されるたびに継続的に実行することです。「1 + 1」と入力するとすぐに 2 が表示され、続けて「+ 1」と入力すると 3 が表示されます。
連続実行部分は多少機能します。「1 + 1」と入力すると、スペースバーを押すまで合計は表示されませんが、スペースバーを押さなくてもすぐに 2 が表示されます。私は何が欠けていますか?
フィドル: http://jsfiddle.net/z26eg/
HTML
<textarea cols="50" rows="10" id="addThis"></textarea>
<div id="sum"></div>
JavaScript
var input = document.getElementById("addThis");
input.onkeypress = function() {
var finalAnswer = 0;
// Get form input
var processAddThis = addThis.value;
// Remove all spaces in problem
// Example problem: 10 + 3 + 2
processAddThis = processAddThis.replace(/\s/g,''); // 10+3+2
// Split numbers into an array
var addTheseValues = processAddThis.split("+");
// Go through numbers and add them up
for (var i = 0; i < addTheseValues.length; i++) {
finalAnswer += Number(addTheseValues[i]);
}
// Display sum
sum.innerHTML = finalAnswer;
}