Добавить 2 функции

Я пытаюсь добавить свои getExamGrades и getLabGrades вместе, вызывая мою другую функцию, чтобы получить общую оценку, но ничего из того, что я пробовал, не работает. Все, что я сделал до сих пор, просто исключает обе функции, которые я вызываю, и оставляет все пустым. Приведенный ниже код работает отлично, просто нужна помощь с последней частью, и тогда я смогу разобраться с другими переменными и функциями.

<!DOCTYPE html>
<html>
<header>
<script>

function getExamGrades()
{
var exam1 = document.getElementById("Exam1").value;
var exam2 = document.getElementById("Exam2").value;
var exam3 = document.getElementById("Exam3").value;
var Exams = Number(exam1) + Number(exam2) + Number(exam3);
document.getElementById("examGrade").innerHTML = Exams;

}
function getLabGrades()
{
var lab1 = document.getElementById("Lab1").value;
var lab2 = document.getElementById("Lab2").value;       
var lab3 = document.getElementById("Lab3").value;

var Labs = Number(lab1) + Number(lab2) + Number(lab3);
document.getElementById("labGrade").innerHTML = Labs;
}
function getTotalGrades()
{
 //var Total = Number(getExamGrades()) + Number(getLabGrades();
 document.getElementByID("totalGrade").innerHTML = Total;
 }

</script>
</header>
<body>

Exam1: <input type = "text" name = "Exam1" value  = "100" id = "Exam1">
Exam2: <input type = "text" name = "Exam2" value  = "100" id = "Exam2">
Exam3: <input type = "text" name = "Exam3" value  = "100" id = "Exam3">
<br><br>
<button onClick = "getExamGrades()"> Calculate Exam Grade </button>
Total: <output id = "examGrade"> </output>
<br><br>
Lab1: <input type = "text" name = "Lab1" value  = "100" id = "Lab1">
Lab2: <input type = "text" name = "Lab2" value  = "100" id = "Lab2">
Lab3: <input type = "text" name = "Lab3" value  = "100" id = "Lab3"> 
<br><br>
<button onClick = "getLabGrades()"> Calculate Lab Grade </button>
Total: <output id = "labGrade"> </output>
<br><br>
<button onClick = "getTotalGrades()"> Calculate Total Grade </button>
Final Grade: <output id = "totalGrade"> </output>



</body>
</html>

Добро пожаловать, Кори. Ваши функции getExamGrades и getLabGrades не возвращают никаких значений. Они устанавливают значения некоторых элементов HTML, но ничего не возвращают. Попробуйте вернуть Exams и Labs соответственно и посмотрите, не поможет ли это.

Forty3 23.01.2019 02:26

Я сделал это, и первые две функции работают, но getTotalGrades() по-прежнему ничего не показывает.

Cory Dunagan 23.01.2019 02:36
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
54
1

Ответы 1

Ваши функции не возвращают значения. Если бы они это сделали, то то, что вы пытались сделать, сработало бы. Попробуйте это так:

function getExamGrades()
{
var exam1 = document.getElementById("Exam1").value;
var exam2 = document.getElementById("Exam2").value;
var exam3 = document.getElementById("Exam3").value;
var Exams = Number(exam1) + Number(exam2) + Number(exam3);
document.getElementById("examGrade").innerHTML = Exams;
return Exams;
}

function getLabGrades()
{
var lab1 = document.getElementById("Lab1").value;
var lab2 = document.getElementById("Lab2").value;       
var lab3 = document.getElementById("Lab3").value;

var Labs = Number(lab1) + Number(lab2) + Number(lab3);
document.getElementById("labGrade").innerHTML = Labs;
return Labs;
}

function getTotalGrades()
{
var Total = Number(getExamGrades()) + Number(getLabGrades());
document.getElementById("totalGrade").innerHTML = Total;
}

Были и другие мелкие проблемы, которые я исправил для вас. Вы можете увидеть рабочий пример здесь: http://jsfiddle.net/8js5uewc/2/

Я сделал это, и первые две функции работают, но getTotalGrades() по-прежнему ничего не показывает.

Cory Dunagan 23.01.2019 02:36

Это потому, что функция getTotalGrades использует document.getElementByID — обратите внимание на последний заглавный D, который должен быть строчным.

paul23 23.01.2019 02:40

Да, это была одна из вещей, которые я исправил. Другой заключался в том, что событие кнопки должно быть onclick, а не onClick.

Darrin Cullop 23.01.2019 02:41

Я ненавижу свою жизнь.. Большое спасибо @paul23

Cory Dunagan 23.01.2019 02:41

Надеюсь, это помогло вам, @CoryDunagan. Добро пожаловать в СО!

Darrin Cullop 23.01.2019 02:48

Другие вопросы по теме