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

Não entendo por que essa função não está adicionando os números corretamente ao array

Para o desafio final da aula 7 onde é preciso fazer uma loteria eu primeiro criei um array para os números sorteados e uma função para adicionar 6 números aleatórios de 0 a 60. Até ai tudo bem, os 6 números aleatorios são adicionados ao array de sorteados numa boa.

Porém quando criei outra Array para ser a de números escolhidos pelo usuario e criei uma função para adicionar os números cada vez que aperto o botão, esses números não são adicionados corretamente.

Eles não aparecem no array como números mas sim como espaços vazios: https://puu.sh/wh27j/f94b1ab30a.png

aqui a função criada:https://puu.sh/wh1Xs/157c90d4a0.png

e aqui segue o código inteiro para melhor analise

<meta charset="UTF-8">

<input type="text" id="numero"/>
<input type="submit" id="adivinhar" value="Verifique seus números aqui"/>
<input type="submit" id="adicionar" value="Adicione seus números da sorte aqui" br />
<script>
alert("Coloque um número da sorte no campo vazio um por um")
var loteria = [];

var adicionarsorteado = function(){    
    for(var i = 0; i <=5; i= i +1) {
        if(i <= 5){        
            loteria.push(Math.round(Math.random()*60));
        }
    }
}

adicionarsorteado();

var numero = document.getElementById("numero").value; 
var numeroescolhido = [];            

var adicionarnumero = function(){
    numeroescolhido.push(numero);
}

var botaoclicado = document.getElementById("adicionar")
    botaoclicado.onclick = adicionarnumero;        





</script>
3 respostas
solução!

Olá Rubens,

Você precisa pegar o valor do campo somente no momento que for adicionar, do jeito que está ele pega o valor do campo só na hora que a página é carregada, por isso ele está adicionando vazio

Olá, obrigado pela ajuda, ainda estou meio confuso, do jeito que eu fiz não era para a função ocorrer somente quando clicasse o botão? ou essa parte aqui

var numero = document.getElementById("numero").value;

é a culpada ? ela estando solta e fora de uma função faz com que ela considere numero como o campo vazio assim que a pagina carrega?

edit: Bem, aparentemente se trata realmente disso

Bem por aí, quando vc clica ele chama a function adicionarnumero (), mas nela o código não vai buscar o valor no campo, ele pega o valor que esta guardado na variável numero .