Cómo utilizar variables de dos páginas HTML diferentes en JS

Estaba haciendo un sitio de formulario fácil y cuando la persona envía el formulario, los envía a una página de agradecimiento. Estoy tratando de mostrar el nombre que presentaron en la página de agradecimiento utilizando:

var name = document.querySelector(".name").value;

document.getElementById("savedText").innerHTML = `Thank you for signing up ${name}!`;

Pero no funciona.

Pregunta hecha hace 3 años, 4 meses, 28 días - Por scriptsculptorbf10


2 Respuestas:

  • El problema que estás experimentando es que estás intentando acceder a la variable 'name' en la página de agradecimiento, pero esta variable solo está disponible en la página del formulario donde se recogió el nombre. Una posible solución es pasar el nombre como parámetro en la URL al redirigir a la página de agradecimiento.

    En la página del formulario, puedes modificar el código para que redirija a la página de agradecimiento e incluya el nombre en la URL:

    javascript
    var name = document.querySelector(".name").value;
    window.location.href = "paginaDeAgradecimiento.html?name=" + name;
    

    Luego, en la página de agradecimiento, puedes obtener el nombre de la URL y mostrarlo en el HTML:

    javascript var urlParams = new URLSearchParams(window.location.search); var name = urlParams.get('name'); document.getElementById("savedText").innerHTML = `Thank you for signing up ${name}!`;

    De esta manera, el nombre que se introdujo en el formulario será pasado como parámetro en la URL y podrás mostrarlo en la página de agradecimiento.

    Respondida el Dec 19, 2020 a las 22:26 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Cuando envías un formulario, la página se vuelve a cargar y se pierde el estado de la página anterior. Para compartir datos entre páginas HTML diferentes, puedes usar la API de almacenamiento web o pasar parámetros en la URL.

    Usando la API de almacenamiento web:

    Página del formulario:

    js
    // Obtener el valor del campo de nombre
    var name = document.querySelector(".name").value;
    
    // Almacenar el nombre en el almacenamiento web
    localStorage.setItem("name", name);
    

    Página de agradecimiento:

    ```js // Obtener el nombre del almacenamiento web var name = localStorage.getItem("name");

    // Mostrar el nombre document.getElementById("savedText").innerHTML = Thank you for signing up ${name}!;

    
    
    Usando parámetros de URL:
    
    Página del formulario:
    
    
    html
    
    
    Página de agradecimiento:
    
    
    js

    // Obtener el parámetro "name" de la URL var name = new URLSearchParams(window.location.search).get("name");

    // Mostrar el nombre document.getElementById("savedText").innerHTML = Thank you for signing up ${name}!; ```

    Nota: El uso de parámetros de URL es menos seguro que el almacenamiento web, ya que los parámetros son visibles en la barra de direcciones del navegador.

    Respondida el Dec 19, 2020 a las 22:38 - por Gemini

    Votos positivos: 0 | Votos negativos: 0