Autor Tema: TypeError: window.location.href is not a function Cómo redireccionar Javascript  (Leído 2002 veces)

JAntonio

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Buenos días, estoy creando una página con un formulario. Entro un texto en un input y lo comparo con una variable con Javascript. Si coinciden, quiero reenviar la página a otra url pero no logro conseguirlo. Si me pueden ayudar se lo agradecería mucho.
Aquí está mi código:

Código: [Seleccionar]
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=8,9,11">
<title>Registro</title>
<link href="../CSS/codigo.css" rel="stylesheet" type="text/css">
<style type="text/css">
body {
    background-image: url(../Imagenes/puzzle.png);
}
</style>
</head>

<body>

<form id="formulario2" name="formulario2" method="post" action="#">
  <table class="conten" border="0" cellpadding="0" cellspacing="0">
  <tbody>
    </tbody>
  <tbody>
    <tr>
      <td width="20%">&nbsp;</td>
      <td width="25%">&nbsp;</td>
      <td width="35%">&nbsp;</td>
      <td width="20%">&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td height="64">&nbsp;</td>
      <td bgcolor=#3F3C3C><div class="container1"><strong>Código:</strong></div></td>
      <td bgcolor=#3F3C3C><div class="container1">
        <label for="nick"></label>
        </div>
        <input class="container2" type="text" name="codigo" id="codigo" size="20" maxlength="20" required /></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td height="19">&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td height="74">&nbsp;</td>
      <td colspan="2"><div class="container1">
        <input type="submit" name="btn_continuar" id="btn_continuar" value="Continuar" onClick="validarcodigo()">
      </div></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td colspan="2">
</td>
      <td>&nbsp;</td>
    </tr>
  </tbody>
  <tbody>
  </tbody>
  </table>
</form>

<script type="text/javascript">
  function validarcodigo()
       {
         var valor = 'NEFERTITI';
         var codigo = document.getElementById("codigo").value;

  if( codigo == null || codigo.length == 0 || /^\s+$/.test(codigo) )
    {
alert("Haz el favor de introducir los datos");
            return false;
            }
         else
          {
         if (valor==codigo)
          {
           alert("Contraseña correcta");
           window.location.href('https://www.google.es/'); /*<---- No me redirecciona*/
           return true;
          }
          else
          {
           alert("Introduzca la contraseña correcta");
           return false;
          }
         }
      } 
</script>

</body>
</html>
« Última modificación: 15 de Octubre 2020, 19:51 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:Validar formulario y redireccionar con Javascript
« Respuesta #1 en: 02 de Junio 2020, 19:12 »
Buenas JAntonio, y bienvenido ya que veo que es tu primer mensaje en los foros. Lo primero que recordamos es que para escribir en los foros es importante seguir las normas que se indican en https://aprenderaprogramar.com/foros/index.php?topic=1460.0 (revisar las indicaciones: cómo poner los títulos de los temas, si es un ejercicio código de la entrega del curso, forma correcta de insertar código, etc.). El código no está correctamente insertado con las etiquetas code (no te preocupes, ya lo corregiré yo. Si tienes dudas sobre cómo escribir en los foros escribe una consulta en el foro "Comunidad" exponiendo la duda para intentar solucionarla.)

Sobre la duda que planteas la forma correcta de redireccionar es window.location = "https://aprenderaprogramar.com" o con la url que quieras, te sobra el href, por ello tienes un TypeError: window.location.href is not a function

En https://aprenderaprogramar.com/index.php?option=com_content&view=category&id=78&Itemid=206 tienes un tutorial JavaScript donde puedes ampliar información.

Salu2
« Última modificación: 15 de Octubre 2020, 19:52 por Ogramar »

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".