4
respostas

Abrir página com window.location.href

Boa tarde galera, estou tentando fazer uma tela de login com autenticação básica, mas na função quando eu comparo o login e senha com os dados digitados e se for válido direciono pra uma outra página do meu html não está abrindo. Alguém pode me ajudar por favor?


HTML:

  <div class="paginaLogin">
    <div class="formulario">
      <h1 class="formulario-titulo">Login</h1>
      <form>
        <input type="text" placeholder="usuário" id="paginaLogin-usuario">
        <input type="password" placeholder="senha" id="paginaLogin-senha">
        <button id="paginaLogin-botao">entrar</button>
      </form>
    </div>
  </div>
  <div class="autor">
    Criado por
    <a target="_blank" href="https://br.linkedin.com/in/guilherme-watanabe-batista-45207b136">Guilherme Watanabe Batista</a>
  </div>
  <script src="js/autenticar-usuario.js"></script>
</body>
</html>

JAVASCRIPT:

var login1 = "admin"; var senha1 = "admin";

var campoLogin = document.querySelector("#paginaLogin-usuario");

var campoSenha = document.querySelector("#paginaLogin-senha");

function autenticaUsuario() { if (login1 == campoLogin.value && senha1 == campoSenha.value) { window.location.href = "../listagem.html"; } else { alert("Login ou senha inválidos!"); } campoLogin.value = ""; campoSenha.value = ""; }

var botao = document.querySelector("#paginaLogin-botao");

botao.onclick = autenticaUsuario;


A função está funcionando, só nao está abrindo a outra pagina quando a condição é válida.

Obrigado.

4 respostas

Você poderia usar o código abaixo:

function novaAba(url) {
  var win = window.open(url, '_blank');
  win.focus();
}

Dai chama a function dentro do seu "if" :

novaAba('/listagem.html')

Espero que tenha ajudado

abraço

Deu certo, porém ele está abrindo outra janela. Queria que abrisse na mesma janela. Você pode me ajudar? Já tentei mas não estou conseguindo.

Obrigado.

Abraço.

Você já tentou o mesmo código que fez anteriormente mas sem os pontos (..)?

window.location.href = "/listagem.html";

Já sim, não deu certo.