#javascript #if-statement
#javascript #if-statement
Вопрос:
Может кто-нибудь объяснить, почему мой оператор if не работает в функции displayStorageSizeToConvert()? Пожалуйста, и спасибо!
var userInput = document.getElementById("userInput");
var kbButton = document.getElementById("k");
var mbButton = document.getElementById("mbButton");
var KilobyteDisplay = document.getElementById('KilobyteDisplay');
var megabyteDisplay = document.getElementById('megabyteDisplay');
var submitButton = document.getElementById('submit');
function displayStorageSizeToConvert() {
if (kbButton.clicked === true) {
return convertFrom.innerHTML = "KB";
}
else {
return convertFrom.innerHTML = "MB";
}
}
function convertStorageSizeFrom() {
if(convertFrom.value === "KB") {
KilobyteDisplay.innerHTML = userInput.value " KB";
megabyteDisplay.innerHTML = userInput.value / 1000 " MB";
}
}
Комментарии:
1. Где вы вызываете displayStorageSizeToConvert?
2. Недостаточно информации. Вы не показываете, как вызывается функция, как кнопка получает свое
clicked
свойство или какие данныеclicked
содержатся.3. попробуйте использовать
kbButton.clicked == true
вместо строгой проверки типа.4. @jithil это плохой совет. OP должен знать, по крайней мере, какой тип значения он ожидает. И если
kbButton.clicked
он не относится к этому типу, у него есть другая проблема (потенциальная ошибка). imo, если JS откажется==
от мира, это приведет только к потере кода с ошибками.5. Хорошо. Понятно.
Ответ №1:
Не похоже, что вы где-то вызываете свою функцию.
Кроме того, вы должны прикрепить эту функцию к обработчику кликов:
function displayInKB() {
convertFrom.innerHTML = "KB";
}
function displayInMb() {
convertFrom.innerHTML = "MB";
}
kbButton.addEventListener('click', displayInKb);
mbButton.addEventListener('click', displayInMb)
Ответ №2:
В настоящее время вы никогда не вызываете / не запускаете displayStorageSizeToConvert() .
Я думаю, вы хотите создать слушателя. Вы можете добавить его следующим образом:
kbButton.addEventListener('click', () => convertForm.innerHTML = "KB")