Я создаю преобразователь температуры из JavaScript. Пока только преобразование Цельсия работает, когда пользователь вводит это в первую очередь. Мне просто сложно понять, как структурировать другие операторы if.Преобразователь температуры (условия IF ELSE) в JavaScript
var conversionC;
var conversionF;
var conversionK;
if (celsius.value != "") {
conversionF = document.getElementById("celsius").value * 9/5 + 32;
document.getElementById("fahrenheit").value = Math.round(conversionF);
}
else if (fahrenheit.value != ""){
conversionC = (document.getElementById("fahrenheit").value - 32) * 5/9;
document.getElementById("celsius").value = Math.round(conversionC);
}
if (kelvin.value != ""){
conversionC = document.getElementById("celsius").value - -273;
document.getElementById("kelvin").value = Math.round(conversionC);
}
Я только хочу, чтобы держать кнопку один Преобразовать, что у меня есть, и до сих пор он работает, когда пользователь решает ввести Фаренгейт или Кельвин первым.
Любые рекомендации приветствуются!
Вот JSFiddle моей программы до сих пор: https://jsfiddle.net/2sharkp/kw2sr1wx/
Спасибо!
Ну одна проблема заключается в том, что первое, если условие 'если (celsius.value! =«»)' Всегда будет верным, потому что ваш 'celsius' переменная содержит число, а числа не имеют свойство '.value', так что вы на самом деле тестируете' if (undefined! = "") '. Вам нужно проверить, является ли document.getElementById («celsius»). Value! = "" '. Другая проблема заключается в том, что вы по умолчанию вводите все значения в '0', поэтому тестирование их на пустую строку не имеет смысла. (Хотя вы, вероятно, хотите, чтобы пользователь вводил '0', поэтому я не уверен, как вы могли бы справиться с этим только с одной кнопкой Convert.) – nnnnnn
Ничего плохого в серии« if, else if, else if ». Или «if, else if, else». – Nate