Итак... моя домашняя работа говорит...
создайте функцию с именем calcBMI()
которая выполняет вычисления с использованием значений в текстовых полях веса и высоты и присваивает результат текстовому полю BMI. Преобразуйте значение в число Integer с помощью функции parseInt(). Сопоставьте текстовые поля внутри функции с помощью documentobject.getElementByID (имя) и атрибут value для каждого текстового поля (другими словами, не используйте аргументы функции AKA для значений). Добавьте прослушиватель событий для вызова функции calcBMI()
Я сделал это здесь. Имейте в виду, что javascript файл является ссылкой в html. Всякий раз, когда я нажимаю кнопку расчета, ничего не происходит.
function calcBMI() {
var weight = parseInt(documentobject.getElementByID("weight"));
var height = parseInt(documentobject.getElementByID("height"));
var result = (weight * 703) / (height * height);
var textbox = documentobject.getElementById('Result');
textbox.value = result;
}
document.getElementById("submit").
addEventListener("click", calcBMI(), false);
Я вижу 3 вещи:
documentobject
а не document
Здесь для устранения проблемы с элементом DOM: var weight = parseInt(document.getElementByID("weight").value)
Используйте то же самое для других переменных.
Похоже, вы можете вызывать calcBMI(), а не передавать его как callback calcBMI .addEventListener("click", calcBMI, false);
Проверьте MDN на прослушиватели событий
Также похоже, что вы ссылались на documentobject
а не на document
.
var textbox = documentobject.getElementById('Result');
Попробуй это: var textbox = document.getElementById('Result');
Надеюсь это поможет!
При вызове addEventListener()
вам необходимо передать ссылку на функцию обратного вызова. Вы вызываете функцию, что неверно. Попробуйте это вместо этого:
document.getElementById("submit").addEventListener("click", calcBMI, false);
Вы присваиваете dom элементам переменные веса и высоты. Вы должны получить значение текстового поля.
function calcBMI() {
var weight = parseInt(document.getElementByID("weight").value);
var height = parseInt(document.getElementByID("height").value);
var result = (weight * 703) / (height * height);
var textbox = document.getElementById('Result');
textbox.value = result;
}