Olá, Eduardo, tudo bem?
A parte do código que você diz que não funciona é essa?
while( key == true ){
alert("888888888888888")
key = false;
}
Bem, o código dentro do while
nunca é executado porque a verificação key == true
está sendo feita apenas uma vez, quando a página carrega. Se você quer que essa verificação seja feita sempre que você clicar no botão, você pode colocar ela dentro da função texto
, que é chamada sempre que o botão é clicado:
function texto() {
if (text.value == token) {
alert("acesso liberado!")
key = true;
}
else {
alert("acesso negado!");
}
if (key == true) { // Verificação. Troquei o while para if
alert("888888888888888")
key = false;
}
// Comentei a linha abaixo, pois não precisamos retornar nada para a função.
// return (key);
}
Além disso, eu troquei o while
para if
, é mais apropriado já que a verificação será feita apenas uma vez. Dessa forma, a instrução alert("888888888888888")
é executada caso a pessoa digite o token correto.
Eu também comentei a instrução return key
, pois nesse caso não precisamos dar um retorno à função texto
.
E uma dica em relação ao seu código: é sempre importante que declaremos as variáveis com alguma das palavras chave var
, let
ou const
! Como abaixo:
var token = 123;
var text = document.querySelector("input");
var button = document.querySelector("button");
Assim, outros desenvolvedores que forem ler seu código, saberão que elas estão sendo declaradas ali, e além disso torna o código mais "inteligente", pois ele reconhece o tipo da variável e fornece algumas ferramentas como o autocomplete.
Se você ainda tiver dúvida, estaremos aqui para ajudar! Bons estudos :)