Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

121
Visualizações
la función no funciona en el evento "enviar", pero funciona cuando se ejecuta en la consola de desarrollo

Estoy representando el formulario a continuación, y debajo tengo un script. Cuando cargo la página, escribo el correo electrónico y la contraseña, luego envío, parece que simplemente vuelve a cargar la página (independientemente de las credenciales).

Cuando escribo el correo electrónico y la contraseña, y luego ejecuto la función en la consola de desarrollo escribiendo loginUser() , se ejecuta como se esperaba y, si las credenciales son correctas, me redirige como debería. Si las credenciales son incorrectas, se activan los eventos de alerta.

He puesto puntos de interrupción, y al "enviar" obtiene el correo electrónico y la contraseña que están en el formulario, pero luego parece volver al inicio de la función (independientemente de las credenciales).

 let form = document.getElementById('loginform'); form.addEventListener('submit', loginUser); function loginUser() { let email = document.getElementById('email').value; let password = document.getElementById('password').value; firebase.auth().signInWithEmailAndPassword(email, password).then(() => { window.location.href = "/"; }).catch(error => { console.log(error) let errorCode = error.code; let errorMessage = error.message; if (errorCode == 'auth/wrong-password') { window.alert('Entered password was incorrect.'); } else if (errorCode == 'auth/user-not-found') { window.alert('Entered email is invalid.'); } else { window.alert('Please check your login credentials.'); } }); }; firebase.auth().onAuthStateChanged(user => { if (user) { console.log(user) user.getIdToken().then(function(token) { //save the token in a cookie document.cookie = "token=" + token; }); } else { console.log("What up dude?"); } });
 <form id="loginform" action="" method="post"> <div class="form-group"> <label for="email">Email</label> <input class="form-control" id="email" name="email" required="required" type="text" value=""> </div> <div class="form-group"> <label for="password">Password</label> <input class="form-control" id="password" name="password" required="required" type="password" value=""> </div> <div class="form-group"> <input class="btn btn-primary" id="submit" name="submit" type="submit" value="Login"> </div> </form>
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Es imperativo ELIMINAR o RENOMBRAR id="submit" name="submit"

Llamar a cualquier cosa enviar en un formulario oculta el método de envío

Luego agregue preventDefault() para detener el envío:

 function loginUser(e) { e.preventDefault()
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda