1
resposta

Campo de texto e botão

uma dúvida, porque o meu "value" não fica sinalizando como no exemplo do professor? no "input.value" fica dando erro...

<meta charset="utf-8">

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

<script>

    var segredo = 5;

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

    function verifica() {

        if(input.value == segredo); {

            alert("voce acertou");
        } else {

            alert("voce ERROU!!");

        }

    }

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

    button.onclick = verifica()


</script>
1 resposta

Oi, Chrysthian, tudo bem?

Sinto muito pela demora em retornar.

Encontrei dois problemas em seu código, são eles:

  1. Um ponto e vírgula após o if(input.value == segredo). Este ponto e vírgula está causando erro na interpretação do código;
  2. Ao vincular um botão com uma função não é necessário adicionar os parênteses após o nome da função. Neste caso, você adicionou os parênteses em button.onclick = verifica(), isso está fazendo com que a função seja executada assim que o arquivo for carregado, gerando um alerta de erro, pois o input ainda não possui valor numérico.

O código corrigido ficou assim:

  <meta charset="utf-8">

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

  <script>

      var segredo = 5;

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

      function verifica() {

        if(input.value == segredo) {
           alert("voce acertou");
        } else {
          alert("voce ERROU!!");
        }
      }

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

  </script>

Espero ter ajudado.

Abraços e bons estudos!