isNaN не проверяет, заполнены ли поля

Я пробовал много способов, чтобы этот код работал, но не работает, моя цель - вычислить, что лучше алкоголь или бензин, но мой isNaN не проверяет, пусты ли поля. Все еще не работает, он продолжает показывать поле "Пожалуйста, заполните обязательное" независимо от того, наполнен. и моя функция, возможно, не работает, я не уверен

мой код:

      var result;
var gasoline = document.getElementById("gasolina").value
var alcohol = document.getElementById("alcool").value
var converte = parseInt(gasolina)

function calculo(){
    valor = document.getElementById("text")

    var calculando = function calculando(){
        var divisao = newAlcool % newGasolina
       if(divisao > 0.75){
            result = "Gasoline is better"
            valor.innerHTML = `${result}`
       }else{
           result = "alcohol is better"
           valor.innerHTML = `${result}`
       }
    }

    if(!alcohol || !gasoline || isNaN(alcohol) || isNaN(gasoline)){
        result = "Please fill in the required field"
        valor.innerHTML = `${result}`
    }else{
        newGasolina = parseInt(gasoline)
        newAlcool = parseInt(alcohol)
        calculando()
    }

}

1 ответ

Если вы хотите проверить isNaN, обновите условие if.

      if(!alcohol || !gasoline || isNaN(alcohol) || isNaN(gasoline)) { 

}

и обновите свой код, потому что вы не получаете значения, вы получаете только элемент HTML.

      var gasoline = document.getElementById("gasolina").value;
var alcohol = document.getElementById("alcool").value;

потому что isNaN("") всегда будет false.

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