entonces tengo un elemento de entrada con la identificación de "respuesta" y un botón. Agregué un detector de eventos para el botón e intenté llamar a una función que guarda el texto dentro de la entrada en el almacenamiento local. La consola me dice que "innerHTML" es nulo, pero no estoy seguro de lo que se supone que debo hacer.
<input type="text" id="answer" /> <button id="button">click me</button> var inputAnswer = document.getElementById("#answer") var buttonEl = document.getElementById("button") buttonEl.addEventListener("click", saveToStorage()) function saveToStorage() { localStorage.setItem("task", inputAnswer.innerHTML); }
getElementById()
espera una identificación, no un hashtag. Cambie var inputAnswer = document.getElementById("#answer")
a var inputAnswer = document.getElementById("answer")
(elimine el #
).
buttonEl.addEventListener("click", saveToStorage())
invoca la función saveToStorage()
inmediatamente, que no es lo que desea. En su lugar, páselo como referencia: buttonEl.addEventListener("click", saveToStorage)
.
<input type="text" id="answer" /> <button id="button">click me</button> <script type="text/javascript"> var inputAnswer = document.getElementById("answer"); var buttonEl = document.getElementById("button"); buttonEl.addEventListener("click", addAnswerToLocalStorage); function addAnswerToLocalStorage() { const value = inputAnswer.value; localStorage.setItem("answer", value); } </script>
Hay un error al obtener la referencia del campo de entrada. En lugar de #answer document.getElementById("#answer")
debería ser solo respuesta . Además, lo verifiqué en mi máquina local y funciona bien.