Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

252
Vistas
¿Por qué mi función javascript no funciona y devuelve verdadero siempre?

Creé una página de inicio de sesión donde puedo iniciar sesión con mi nombre de usuario y contraseña y funciona bien cuando la validé con JavaScript usando el atributo onsubmit en la etiqueta del formulario. Pero cuando lo modifico para agregar innerhtml a mi etiqueta h3 donde quiero mostrar Credencial incorrecta cuando el usuario ingresa un nombre de usuario o contraseña incorrectos, entonces no muestra lo mismo y también se redirige a la página de inicio de sesión exitosa incluso cuando he agregado retorno declaración falsa en JavaScript.

 function validate(){ var uname=document.getElementById('username').value; var password=document.getElementById('password').value; var users=["mustafa","param","swapnil","abhi"]; var pwd=["1234","4567","8524","7418"] for (let i = 0; i < users.length; i++) { if((uname==users[i])&&(password==pwd[i])){ location.href("sucess.html"); return true; } } document.getElementById('wrong-output').innerHTML="Wrong details"; return false; }
 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="index_js.js"></script> </head> <body> <h3 id="wrong-output" style="background-color:red"></h3> <form action="sucess.html" onsubmit="return validate()"> <label for="uname">User Name</label> <input id="username" type="text"> <br> <br> <label for="pwd">Password</label> <input type="password" id="password"><br><br> <input type="submit" value="submit"> </form> </body> </html>

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No devuelve true .

location.href es una cadena, no una función. Intentar llamarlo como una función arroja una excepción y finaliza el script.

Dado que el script finaliza, la función no devuelve false , por lo que el comportamiento predeterminado del controlador de eventos nunca se evita y el formulario se envía normalmente.

Si desea navegar usando location.href , debe asignarle un nuevo valor con = … pero luego la función devolverá true y el envío del formulario reemplazará esa instrucción de navegación para que no tenga ningún efecto.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda