19 Nov Ejercicio – Crear una lista de recordatorios
En este ejercicio haremos un sencillo script que crea una lista de recordatorios en el documento web.
Habrá un cajetín de texto, un botón para añadir nuevos elementos y otro para resetear la lista.
Cuando no se escriba nada en el cajetín de texto saltará un aviso al usuario.
Aplicaremos los siguientes conceptos.
- Como crear nodos dinámicamente y añadirlos al documento web.
- Como eliminar nodos dinámicamente.
- Como asignar eventos a un nodo del documento web sin necesidad de llamar las funciones en línea.
Vayamos al ejercicio:
Enunciado
Crea un documento web que nos ayude a generar una lista de recordatorios.
La lista se debe poder resetear cuando el usuario lo desee.
La lista no debe añadir nuevas líneas cuando el usuario no haya escrito nada.
Se sugiere crear un formulario con un input de texto y dos botones.
Solución del ejercicio
Se desglosa la explicación de la resolución en 2 partes.
En la primera se observa como se reinicia el javascript y se asigna el método onclick en los botones del formulario.
Puede sorprender la mezcla de métodos utilizados pero se hace así a fin didáctico.
Unas veces se ha usado addEventListener(), otras se ha declarado el evento como si fuera un atributo. (window.onload = init;)
En la segunda parte se desglosan las dos funciones que dan vida al script.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="description" content="Creación de nodos mediante javascript">
<meta name="author" content="Francesc Ricart">
<title>Ejercicio - La lista de la compra</title>
</head>
<body>
<form action="#">
<input type="text" class="introduccionDatos" id="introduccionDatos">
<input type="button" value="Añadir a la lista" id="anadir">
<input type="button" value="Reiniciar" id="reiniciar">
</form>
<ul id="elementoUl">
</ul>
<script>
window.onload = init;
function init(){
document.getElementById("anadir").addEventListener("click",anadirElemento);
document.getElementById("reiniciar").addEventListener("click",reiniciarLista);
}
function anadirElemento(){
//...
}
function reiniciarLista(){
//...
}
}
</script>
</body>
</html>
Desarrollo de la función anadirElemento()
function anadirElemento(){
var elementoUl = document.getElementById("elementoUl");
var aux = document.getElementById("introduccionDatos");
if (aux.value != ""){
var elementoLi = document.createElement("li");
elementoLi.innerHTML = aux.value;
elementoUl.appendChild(elementoLi);
aux.value="";
}else{window.alert("Debes rellenar el formulario")}
}
Desarrollo de la función reiniciarLista()
function reiniciarLista(){
var elementosEliminar = document.getElementsByTagName("li");
while(elementosEliminar.length!=0){
elementosEliminar[0].parentNode.removeChild(elementosEliminar[0]);
}
}
Si juntamos todas las piezas resolvemos el ejercicio.
¡Hola!
Querido lector,
Espero que este ejercicio te ayude a repasar conceptos básicos como de que modo podemos crear nuevos nodos en el documento web y eliminarlos.
También distintas formas de asignar eventos a los nodos ya existentes.
¡Si te ha gustado este contenido te animo a seguirme en mi perfil de empresa de Linkedin!
Entradas relacionadas:
En ocasiones es en las cosas más básicas dónde nos bloqueamos. ¿Qué nombre poner a las variables cuando programamos con javascript?
Podemos usar los dos sistemas propios de jQuery pero también los ya conocidos de Javascript.. Repasamos como se escriben.
En este ejercicio repasamos los conceptos relativos a la declaración de variables en javascript. ¿Qué declaraciones son incorrectas? Detéctalas y corrígelas.
En entradas anteriores hemos visto el origen de javascript como una de las aportaciones de Netscape a la web y como un lenguaje muy útil para aprender a programar. Este lenguaje de script nos permite ...
Lo más importante que debéis aprender en este curso es como tabular correctamente vuestro código. Incluye imágenes de casos bien tabulados y mal tabulados.
Ejercicio y solución de un problema introductorio al mundo del Javascript.
No Comments