<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>SwinTech</title> </head> <body> <form action="apply.html" method="post"> <div class="consultantinformation"> <h2> Job reference number: </h2> <br> <h4 id="jobreference2"> 6LZ9W </h4> </div> <button id="submitbutton">Submit</button> </form> <script type="text/javascript"> document.getElementById("submit3").addEventListener("click", myfunction); function myFunction(){ localStorage.setItem("jobreference3", "KJ3N7"); } </script> </body> </html> <body> <form action="https://mercury.swin.edu.au/it000000/formtest.php" method="post" id="regform"> <p>Job Reference Number: <span id="job1"></span> <span id="job2"></span> <span id="job3"></span> </p> <input type="submit" value="Apply"> </form> <script type="text/javascript"> document.getElementById("job1").innerHTML = localStorage.getItem("jobreference1"); document.getElementById("job2").innerHTML = localStorage.getItem("jobreference2"); document.getElementById("job3").innerHTML = localStorage.getItem("jobreference3"); </script> </body>Configuré un detector de eventos que hace que el valor solo se almacene si se presiona el botón Enviar. Sin embargo, por alguna razón no funciona. Lo configuré para que se recupere en otra página, pero incluso si simplemente hago un hipervínculo a esa página, sin enviar este formulario, el valor se muestra en la otra página. ¿Por qué no funciona el oyente uniforme?
editar: edité el código HTML que recupera los valores que configuré. Lo que pasa es que lo recupera y lo muestra incluso si no envío el formulario en la otra página HTML.
Nota: la razón por la que hay "trabajo1", "trabajo2" y "trabajo3" es porque solo envié una pequeña parte del primer código. Está destinado a mostrar solo 1 según el formulario que envió en la página anterior.
Debe definir una función llamada setItem . Esa función es el controlador de eventos y reaccionará cuando ocurra el evento.
<script> function setItem () { localStorage.setItem("jobreference1", "1FN43"); } document.getElementById("submitbutton").addEventListener("click", setItem); </script>