Получите количество непустых входных элементовHtml

Программисты Html
Ответить
Anonymous
 Получите количество непустых входных элементов

Сообщение Anonymous »

сценарий < /h2>

Каждый семестр, который мой ученик должен пройти хотя бы одну науку, одну физику и один исторический тест. Следующая форма дает правильные средние оценки, а также окончательный класс ученика: < /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>










Подробнее здесь: https://stackoverflow.com/questions/549 ... t-elements
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»