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

Não aparece a msg "Você ERROU!!"

Alguém pode me ajudar nesta problemática? rsrs

<meta charset="UTF-8">

<input/>
<button>Compare com o meu segredo</button>


<script>

    //var segredo = Math.round(Math.random() * 10);
    //console.log(segredo); // mostra o valor no console do navegador

    //arrays
    var segredos = [5,7,10,2,3];



    var inputdoHtml = document.querySelector("input");

    inputdoHtml.focus(); // função "focus(), faz com que a caixa de texto continua selecionada para inserção de dados" 

    function verifica(){

        var achou = false;

        for(var posicao = 0; segredos.length; posicao++){

            if(inputdoHtml.value == segredos[posicao]){

                alert("Você ACERTOU!!");
                achou = true;
                break;

            }
        }

        if(achou == false){
            alert("Você ERROU!!");
        }
        inputdoHtml.value = "";
        inputdoHtml.focus(); 
    }

    var buttonDoHtml = document.querySelector("button");
    buttonDoHtml.onclick = verifica; // a função sem os "()", faz com que a função seja guardada no "onclick" e só será executado depois que o usuário clicar no botão do html.

</script>
2 respostas
solução!

Oi, Daniel! Tudo bem?

Já achei seu erro e vou te mostrar como resolvê-lo.

Na linha

        for(var posicao = 0; segredos.length; posicao++){

deveria vir um posicao < antes de segredos.length, pois na segunda posição do comando for (após os dois pontos, dentro dos parenteses) vem a condição que estamos pedindo.

Portanto, basta trocar a linha citada acima por esta:

        for(var posicao = 0; posicao < segredos.length; posicao++){

Se você for testar com essa nova linha no lugar, verá que a mensagem de erro aparece como o instrutor nos mostra! :)

Espero ter ajudado.

Caso mais dúvidas surjam, estou à disposição.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Oi Maria! Muito obrigado pelo feedback!