Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Alerta de não número

Bom dia

Eu queria incrementar um botão de alerta para quando não fosse inserido números no input. Tentei dessa forma mas não aparece a mensagem "Não é um número" e sim o "Você errou!!"

Alguém poderia me ajudar a entender como que funciona o isNaN nesse caso.?

<meta charset = "UTF-8">

<input/>
<button>COMPARE COM O MEU SEGREDO</button>

<script>
var input = document.querySelector("input");

function numeroGuardado(n) {

    return Math.round(Math.random() * n);
}


var numeroGuardado = numeroGuardado(100);

console.log(numeroGuardado);

input.focus();

function verifica() {
    if(input.value == isNaN(true)) {     
        alert("Não é um número!!");
        } else if(input.value == numeroGuardado) {
            alert("Você acertou!");
        } else {
            alert("Você errou!!");
        }

    input.value  = "";
    input.focus();
}

var button = document.querySelector("button");
button.onclick = verifica;

</script>
2 respostas
solução!

Oi, Jefferson, tudo bem?

Neste caso, você teria que passar o valor do input como parâmetro para a função isNaN(), tudo isso dentro do if, então se não for um número passado como parâmetro entrará na condição e será exibido o alerta. Dessa forma:

function verifica() {
    if(isNaN(input.value)) {     
        alert("Não é um número!!");
        } else if(input.value == numeroGuardado) {
            alert("Você acertou!");
        } else {
            alert("Você errou!!");
        }

    input.value  = "";
    input.focus();
}

Espero ter ajudado.

Abraços e bons estudos!

grande dica

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software