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

por que meu input.value e meu input .focus não estão funcionando? ps : tentei fazer um sistema de login em vez de um sistema de adivinhação

<meta charset="utf-8">


<input/>
<button>login</button>
<script> 
var senha = prompt("coloque uma senha");
var input = document.querySelector("input");
input.focus();
function login(){    
if(input.value == senha){ alert("login executado com sucesso ") } else {alert("senha errada tente de novo")
}
input.value = " ";
input.focus();
}
var button = document.querySelector("button");
button.onclick = login;
</script>
1 resposta
solução!

Olá Gabriel.

Seu código parece funcionar conforme foi pensado.

Pode ocorrer de dar um erro quando você digita a senha (123 por exemplo) e depois a erra no login (125, por exemplo). Daí, continuando, se tenta somente digitar um login correto em seguida (123) ele diz que a senha está errada. Se for este problema a que se refere, ele está no fato de que seu input.value está assim:

input.value = " "; com duas aspas e um espaço no meio;

quando deveria estar assim:

input.value = "";, com duas aspas e vazio no meio.

Do jeito que colocou, ele já insere um espaço em branco, e se você digita a senha correta (123), o input.value vai ser 123 com um espaço no começo, o que não é a senha correta.

Fora isto, uma recomendação é a indentação adequada do código, e o uso de ponto e vírgula ao final de cada linha de comando, e uso de maiúscula na definição do charset (UTF ao invés de utf) como boa prática e para melhor visualização:

<meta charset="UTF-8">

<input/>
<button>login</button>

<script> 
var senha = prompt("coloque uma senha");

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

function login(){  

    if(input.value == senha){
        alert("login executado com sucesso");

    } else {
        alert("senha errada tente de novo");
    }

    input.value = "";
    input.focus();
}

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

</script>