Каждый семестр, который мой ученик должен пройти хотя бы одну науку, одну физику и один исторический тест. Следующая форма дает правильные средние оценки, а также окончательный класс ученика: < /p>
document.getElementById('calcBtn').addEventListener('click', function() {
var scienceTest1 = document.getElementById('scienceTest1').value;
var scienceTest2 = document.getElementById('scienceTest2').value;
var scienceTest3 = document.getElementById('scienceTest3').value;
var physicsTest1 = document.getElementById('physicsTest1').value;
var physicsTest2 = document.getElementById('physicsTest2').value;
var physicsTest3 = document.getElementById('physicsTest3').value;
var historyTest1 = document.getElementById('historyTest1').value;
var historyTest2 = document.getElementById('historyTest2').value;
var historyTest3 = document.getElementById('historyTest3').value;
var scienceAverage = document.getElementById('scienceAverage');
var physicsAverage = document.getElementById('physicsAverage');
var historyAverage = document.getElementById('historyAverage');
var finalGrade = document.getElementById('finalGrade');
scienceAverage.value = (Number(scienceTest1) + Number(scienceTest2) + Number(scienceTest3)) / 3;
physicsAverage.value = (Number(physicsTest1) + Number(physicsTest2) + Number(physicsTest3)) / 3;
historyAverage.value = (Number(historyTest1) + Number(historyTest2) + Number(historyTest3)) / 3;
finalGrade.value = (scienceAverage.value * 5 + physicsAverage.value * 3 + historyAverage.value * 2) / 10;
});< /code>
Science:
Physics:
History:
< /code>
< /div>
< /div>
< /p>
Проблема в том, что она работает, только если все поля есть отредактировано. Если студент не проходит некоторые тесты, средние оценки не показывают правильные значения. Я знаю, что это из-за деления на фиксированное число 3 < /code>, когда он вычисляет средние оценки: < /p>
scienceAverage.value = (Number(scienceTest1) + Number(scienceTest2) + Number(scienceTest3)) / 3;
physicsAverage.value = (Number(physicsTest1) + Number(physicsTest2) + Number(physicsTest3)) / 3;
historyAverage.value = (Number(historyTest1) + Number(historyTest2) + Number(historyTest3)) / 3;
< /code>
Вопрос < /h2>
Что такое простой подход для получения числа Изменено < /em> вход Поля в следующей одной строке? Я постараюсь понять ваш метод, а затем развить свою форму для нескольких строк. -code ">
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;
});< /code>
Каждый семестр, который мой ученик должен пройти хотя бы одну науку, одну физику и один исторический тест. Следующая форма дает правильные средние оценки, а также окончательный класс ученика: < /p>
[code]document.getElementById('calcBtn').addEventListener('click', function() { var scienceTest1 = document.getElementById('scienceTest1').value; var scienceTest2 = document.getElementById('scienceTest2').value; var scienceTest3 = document.getElementById('scienceTest3').value; var physicsTest1 = document.getElementById('physicsTest1').value; var physicsTest2 = document.getElementById('physicsTest2').value; var physicsTest3 = document.getElementById('physicsTest3').value; var historyTest1 = document.getElementById('historyTest1').value; var historyTest2 = document.getElementById('historyTest2').value; var historyTest3 = document.getElementById('historyTest3').value; var scienceAverage = document.getElementById('scienceAverage'); var physicsAverage = document.getElementById('physicsAverage'); var historyAverage = document.getElementById('historyAverage'); var finalGrade = document.getElementById('finalGrade'); scienceAverage.value = (Number(scienceTest1) + Number(scienceTest2) + Number(scienceTest3)) / 3; physicsAverage.value = (Number(physicsTest1) + Number(physicsTest2) + Number(physicsTest3)) / 3; historyAverage.value = (Number(historyTest1) + Number(historyTest2) + Number(historyTest3)) / 3; finalGrade.value = (scienceAverage.value * 5 + physicsAverage.value * 3 + historyAverage.value * 2) / 10; });< /code>
Science:
Physics:
History:
< /code> < /div> < /div> < /p>
Проблема в том, что она работает, только если все поля есть отредактировано. Если студент не проходит некоторые тесты, средние оценки не показывают правильные значения. Я знаю, что это из-за деления на фиксированное число 3 < /code>, когда он вычисляет средние оценки: < /p>
Что такое простой подход для получения числа Изменено < /em> вход Поля в следующей одной строке? Я постараюсь понять ваш метод, а затем развить свою форму для нескольких строк. -code "> 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; });< /code>