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

Meu código não faz nada alguém sabe pq? to olhando codigo aqui do site olhando o meu de cima a baixo e não vejo o erro..

<meta charset=utf8>
<input type="text" id="numero" />
<input type="submit" id="advinhar" value="Compare com o meu segredo" />
<script>
var segredos = [16,34,37,42,50,58];
var caixadonumero = document.getElementById("numero");
var botaoclicado = function(){
    var achou = false;
    for (var i = 0; i < 6; i = i + 1){
        if (segredos[i] == caixadonumero.value){
            achou = true;
            break;
        }
    }
    if (achou == true){
    alert("Parabéns você acertou!!!!");
    }
    else {
    alert ("Infelizmente você errou!!");
    };
};
var botaoadivinhar = document.getElementById("adivinhar");
botaoadivinhar.onclick = botaoClicado;
</script>
6 respostas
solução!

Oi Eduardo, o problema é que sua função está declarada com botaoclicado mas lá em baixo no onclick está botaoClicado

só mudar lá em cima para botaoClicado

Olá Eduardo tudo bem?

Recomendo ajustar o código colocando o evento de click no próprio botão passando a função qual queremos executar,

<input type="submit" id="advinhar" value="Compare com o meu segredo" onclick="botaoclicado();"/>

Podemos remover as seguintes linhas de código, pois deixamos o botão chamar a função diretamente.

var botaoadivinhar = document.getElementById("adivinhar");
botaoadivinhar.onclick = botaoClicado;

Espero ter ajudado e bons estudos,

Atenciosamente,

Eduardo vamos la:

Primero: No lugar onde você esta associando a função botaoclicado com o click do botão esta com o nome errado:

Seu código:

botaoadivinhar.onclick = botaoClicado;

Onde na verdade sua função se chama botaoclicado tudo em minúsculo.

Segundo: Onde você esta buscando o botão adivinhar por id repare que o id do botão no HTML esta errado:

Seu código:

<input type="submit" id="advinhar" value="Compare com o meu segredo" />

Acerte o id do botão para que o javascript consiga acha-lo, sempre recomendo em casos como esse verificar o console do navegador pois muitos erros podem ser vistos e corrigidos por ele.

Espero ter ajudado

Olá Matheus tudo bem?

Então corrigindo os erros tudo funciona normalmente, mas qual forma recomenda usar? Chamando a função diretamente? ou pegando pelo id?

Atenciosamente,

Fala ai Renan, bem e por ai ?

Depende do caso, sempre prefiro não ficar percorrendo o DOM pois é algo custoso ao meu ponto de vista então adicionado a função no onclick direto do button teoricamente seria mais rápido porém imagine se temos uma função em 50 buttons ai precisamos passar um parâmetro a mais, teríamos que ir nos 50 buttons um por um adicionando o parâmetro.

Tudo tem suas vantagens e desvantagens, analisando o caso dos 50 buttons eu preferiria realizar a função via id.

Oi Matheus tudo ótimo,

Concordo plenamente com sua visão, temos sempre que analisar o problema e desenvolver a melhor solução, sempre bom evitar percorrer o DOM por ser custoso, mas como mencionado, há casos em que temos a necessidade de recorrer ao DOM por questões de organização de código e manutenção, obrigado por compartilhar sua visão sobre o assunto,

Abraço,