2
respostas

O comando input.value não retorna o valor da variável input e faz com que o programa exiba apenas o alert"Voce errou"

<meta charset="UTF-8">



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

<script>

    var segredo = 5;

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

    if(input.value == segredo) {

        alert("Você ACERTOU!");
    } else {

        alert("Você ERROU!");
    }



</script>
2 respostas

Fala, Vinicius! Tudo bem contigo?

Desculpe a demora pelo retorno!

Dê uma olhada nesse código postado por aqui no fórum

<meta charset="UTF-8">

Digite os seus chutes:
<br>
<input />
<button>Sabedoria</button>

<script>

    //teste de sabedoria começa agora

    alert("Comece seu teste");
    var desafio = parseInt(prompt("Quantos números você quer ter a chance de acertar?"));

    var palpite = document.querySelector("input");
    palpite.focus()

    function maquinaSorteia() {

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

    function sorteiaMais(quantidade) {

        var misterios = [];
        var numero = 1;

        while (numero <= quantidade) {

            var sorteia = maquinaSorteia();
            var repetido = false;

            if (sorteia !== 0) {
                for (posicao = 0; posicao < misterios.length; posicao++) {

                    if (misterios[posicao] == sorteia) {
                        repetido = true;
                        break;
                    }
                }

                if (repetido == false) {
                    misterios.push(sorteia);
                    numero++;
                }
            }
        }
        return misterios;
    }

    var misterios = sorteiaMais(desafio);
    console.log(misterios);

    function sera() {

        var acertou = false;

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

            if (palpite.value == misterios[posicao]) {

                alert("Você está sabendo");
                acertou = true;
                break;
            }
        }
        if (acertou == false) {

            alert("Estude mais");
        }
        palpite.value = "";
        palpite.focus();
    }

    var sabedoria = document.querySelector("button");
    sabedoria.onclick = sera;

</script>

Acredito que vá te ajudar bastante!

Um abraço e bons estudos

Vinicius, a pergunta é antiga, mas ainda pode ser útil a resposta. Seu código roda automaticamente do começo ao fim ao ser aberto o arquivo. E ele pega o valor que está na caixa de input (valor que é "nada"), e compara através do 'if' este valor com 5.

Como 'nada' é diferente de 5, já dá a mensagem de que "você errou".

Experimente atribuir à variável 'segredo' um valor 'nada' (""), e verá que ele irá comparar e mostrar a mensagem "você acertou", comprovando o que eu disse:

<meta charset="UTF-8">

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

<script>

    var segredo = "";

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

    if(input.value == segredo) {
        alert("Você ACERTOU!");

    } else {
        alert("Você ERROU!");
    }

</script>

Se quiser fazer esta comparação, deve seguir o exemplo do professor, onde a comparação só ocorre ao pressionar o botão:

<meta charset="UTF-8">

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

<script>
    var segredo = Math.round(Math.random() * 10);
    console.log(segredo);

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

    function verifica() {

        if(input.value == segredo) {
        alert("Você ACERTOU!");

        } else {
        alert("Você ERROU!!!!!!!!");
        }
                input.value = "";
                input.focus();
    }

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

    button.onclick = verifica;

</script>