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
.