Устранение неполадок использования if / else внутри функции события - PullRequest
0 голосов
/ 20 июня 2019

У меня возникли проблемы с использованием if if для достижения простого двустороннего преобразования по Цельсию / Фаренгейту с использованием основных полей ввода HTML и некоторого фонового Javascript.

По сути, я хочу иметь возможность ввести значение в C или F на один из двух входов, а затем преобразование появится на другом входе. Преобразование Цельсия в Фаренгейт работает нормально, но ничего не происходит при вводе чисел во ввод Фаренгейта. Мой код ниже

var celsius = document.getElementById("Celsius");
    var fahrenheit = document.getElementById("Fahrenheit");

    celsius.addEventListener('input', conversion);
    fahrenheit.addEventListener('input', conversion);

    function conversion() {

    var celsiusvalue = document.getElementById("Celsius").value;
    var fahrenheitvalue = document.getElementById("Fahrenheit").value;
    const intcelsius = parseInt(celsiusvalue, 10);
    const intfahrenheit = parseInt(fahrenheitvalue, 10);

    if (this.id == "Celsius") {
    fahrenheit.value = ((intcelsius * 9)/5) + 32;
    }
    else {
    celsius.value == (((intfahrenheit - 32) * 5) / 9);
    }
    }
<section>

  <input id="Celsius" placeholder="Celsius"/><br/><br/>
  <input id="Fahrenheit" placeholder="Fahrenheit"/>

</section>

Кто-нибудь может мне помочь? Разве я не должен использовать if / else здесь и просто использовать две разные функции?

1 Ответ

1 голос
/ 20 июня 2019
        celsius.value == (((intfahrenheit - 32) * 5) / 9);

должно быть:

        celsius.value = (((intfahrenheit - 32) * 5) / 9);
...