Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro: input.focus is not a function

input="" na linha 21 e input.focus(); na linha 22 não funcionam, porem o mesmo comando na linha 53 funciona. alguem saberia me explicar o porque?

<meta charset="UTF-8">


<input/>
<button>Check</button> 

<script>
    function verifica(){
        input= document.querySelector("input");
        var achou= false
        for (var i=0; i < segredo.length; i++) {
            if (input.value==segredo[i]) {
                alert("você ACERTOU");
                achou= true
                break;
            }    
        }
        if (achou==false) {
            alert("você ERROU")
        }
        input="";
        input.focus();

    }    
    function sorteio() {
        return Math.round(Math.random() * 10);
    }    
    function segredos(quantidade){
        segredo = [];
        var achou= false
        for (var i=0 ; i < quantidade; i++){
            var numero= sorteio()
            if (numero!=0) {
                for (var j=0; j<quantidade;j++){
                    if (numero==segredo[j]) {
                        achou= true    
                        i--
                        break;
                    }else{
                        achou=false;
                    }    
                }
                if (achou==false) {
                        segredo.push(numero);                                    
                }            
            }else{
                i--;
            }        
        } 
    }
    var button=document.querySelector("button");
    var input= document.querySelector("input");
    input.focus();
    segredos(3);
    console.log(segredo)
    button.onclick= verifica
</script>
1 resposta
solução!

José, boa tarde!

Na linha anterior, você definiu o input como uma string vazia e uma string vazia não possui o método input.

Acredito que você queria limpar o campo, para isso nós usamo o value

input.value = "";

e aí o focus funciona normalmente, já que a variável input, não deixou de ser um elemento.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software