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

Aula 6 -Botões não funcionam por nada!

Olá pessoal, tudo bem? Já programava em C, então conheço bem Arrays, estruturas de repetição, etc... mas sou nova no JavaScript. Tentei várias vezes escrever o código, e não conseguia mesmo fazer com que o valor do texto fosse para uma variável ao clicar no botão, e depois que esse valor fosse copiado para uma mensagem alert, ou exibido em um document.write. Cheguei até mesmo a escrever linha por linha o código do professor na aula. Os botões aparecem no navegador, mas, como já havia dito, o valor não é repassado/não aparece depois. Abaixo o código, se alguém puder me indicar o erro, muito obrigada!

<meta charset="UTF-8">

<input type="text" id="numero" />
<input type="submit" value="Compare com o meu segredo!" id="adivinhar" />

<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<segredos.lenght ; i=i+1){
        if (segredos[i]==caixaDoNumero.value){
            achou=true;
            break;
        }
    }

    if (achou==true){
        alert("Parabéns! Você acertou um dos números secretos!");
    } else {
        alert("Infelizmente você errou!");
    }
}

var botaoAdivinhar=document.getElementById("adivinhar");
botaoAdivinhar.onClick=botaoClicado;
</script>
3 respostas
solução!

Olá Priscila

Passou 1 coisinha batida nesse seu código que também demorei pra perceber.. hehe

botaoAdivinhar.onClick=botaoClicado;

Ai que está o erro. Com a linguagem sendo Case Sensitive, o 'c' do onclick que está te atrapalhando ai... O certo é:

botaoAdivinhar.onclick=botaoClicado;

Faz o teste e vê se vai dar certo mudando isso.

Olá Priscila.

Um dos erros é exatamente o que o Felipe falou, onclick deve ser tudo minúsculo.

Agora tem um outro pequeno erro de digitação, dentro do seu for :

for (var i=0; i<segredos.lenght ; i=i+1){
    ...
}

Aqui a palavra length está escrita errada, a ordem do t e do h estão trocadas e por isso ele não funciona :) . É um erro bastante comum e eu mesmo já cometi ele várias vezes hehe .

Faça essas correções e veja se tudo funciona corretamente!

Muito obrigada pessoal, era isso mesmo!