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

Código não funciona como deveria...

Ocorre que quando o comando faz a solicitação da senha, quando acerto tudo bem... ele sai do loop, no entanto, quando erro, ele não pergunta novamente, ele simplesmente mostra o alerta sem pedir nova senha... por 3 vezes... desta forma, não consigo capturar as outras tentativas de forma correta, embora o alerta apareça 3 vezes... <:(( obrigado

<meta charset="UTF-8">

<script>

    function pulaLinha() {
        document.write("<br>");
        document.write("<br>");

    } //função é sempre um verbo... indica ação a ser executada

    function mostra(frase) {
        document.write(frase);

    var loginCadastrado = "alura";
    var senhaCadastrada = "alura321";

    var loginInformado = prompt("Informe seu login");
    var senhaInformada = prompt("Informe sua senha");

    var maximoTentativas = 3;
    var tentativaAtual = 1;


    while(tentativaAtual <= maximoTentativas) {

        if( loginCadastrado == loginInformado && senhaCadastrada == senhaInformada ) {

            alert("Bem-vindo ao sistema " + loginInformado);

            pulaLinha()

            mostra("Você digitou a senha correta...")

            break;

        } else {

            alert("Login inválido. Tente novamente");

            pulaLinha()

            mostra(tentativaAtual + " tentativa(s)")

            tentativaAtual++  

        } 

    // vai para a próxima tentativa
    }

</script>
1 resposta
solução!

Você precisa exibir o prompt dentro do laço pra poder receber o valor da varíavel, caso contrario, no fluxo de execução do seu código ele não retorna pra fora do while

<script>

            function pulaLinha() {
                document.write("<br>");
                document.write("<br>");

            } //função é sempre um verbo... indica ação a ser executada

            function mostra(frase) {
                document.write(frase);
            }

            var loginInformado = prompt("Informe seu login");
            var senhaInformada = prompt("Informe sua senha");

            var loginCadastrado = "alura";
            var senhaCadastrada = "alura321";

            var maximoTentativas = 3;
            var tentativaAtual = 1;


            while(tentativaAtual <= maximoTentativas) {

                if( loginCadastrado == loginInformado && senhaCadastrada == senhaInformada ) {

                    alert("Bem-vindo ao sistema " + loginInformado);

                    pulaLinha()

                    mostra("Você digitou a senha correta...")

                    break;

                } else {

                    alert("Login inválido. Tente novamente");

                    pulaLinha()

                    mostra(tentativaAtual + " tentativa(s)")

                    senhaInformada = prompt("Informe sua senha");

                    tentativaAtual++  

                } 

            // vai para a próxima tentativa
            }

        </script>