Uncaught ReferenceError: función is not defined

publicado por: Anonymous

Tengo un problema, no entiendo por qué no muestra los datos, al ser ingresados.

<label for="nombre"> Nombre: </label>
<input type="text" id="nombre" />
<input type="button" onclick="guardarDatos()" value="Guardar datos" />
<p id="datos"> </p>
<input type="button" onclick="recuperarDatos()" value="Recuperar datos" />

JS

function guardarDatos(){
 localStorage.nombre = document.getElementById("nombre").value;
}

function recuperarDatos(){
 if ((localStorage.nombre != undefined)) {
  document.getElementById("datos").innerHTML = "Nombre: " + localStorage.nombre;
 }
 else{
  document.getElementById("datos").innerHTML = "No has introducido tu nombre";
 }
}

Mi idea es guardar el nombre y luego usar la variable nombre, en varias parte del html con un ID.

Olvidé mencionar que tengo los siguientes errores.

Uncaught ReferenceError: guardarDatos is not defined
    at HTMLInputElement.onclick ((index):67)
onclick @ (index):67

(index):69 Uncaught ReferenceError: recuperarDatos is not defined
    at HTMLInputElement.onclick ((index):69)

Pueden ver mi codigo,

https://jsfiddle.net/JDLA1/zfgjr41s/

solución

Dejando a un lado el uso de LocalStorage(explicado por Trauma en su respuesta), el problema es que el jsfiddle carga las funciones JS en onLoad por defecto.

Si quieres cambiar el ajuste, pulsando en el boton Javascript ⚙, ahi puedes elegir cuándo se cargan.

Si lo cambias a no wrap - in head (que es donde se añaden los <script>'s), funciona bien:

Demo:

https://jsfiddle.net/zfgjr41s/1/

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *