[B]Scenario
Every semester my students need to take at least one test. The following form gives the right average grade of a student:
[CODE]<!DOCTYPE html>
<html lang=”en”>
<head>
<title>Average Grade</title>
</head>
<body>
<form>
Math: <input type=”number” id=”test1″>
<input type=”number” id=”test2″>
<input type=”number” id=”test3″>
<output id=”average”></output>
<br>
<input type=”button” value=”Calculate” id=”calcBtn”>
</form>
<script>
document.getElementById(‘calcBtn’).addEventListener(‘click’, function() {
var test1 = document.getElementById(‘test1’).value;
var test2 = document.getElementById(‘test2’).value;
var test3 = document.getElementById(‘test3’).value;
var average = document.getElementById(‘average’);
average.value = (Number(test1)+Number(test2)+Number(test3)) / 3;
});
</script>
</body>
</html>
[URL=”https://jsfiddle.net/Mori/p2m0tvfy/4/”][B]DEMO
The problem is it works right only if all the fields are edited. If the student doesn’t take some tests, the average grade won’t show the right value. I know it’s because of dividing by the fixed number [I]3
[CODE]average.value = (Number(test1)+Number(test2)+Number(test3)) / 3;
[B]Question
What is a simple approach to get the number of [I]changed