Compare commits
1 Commits
solucion-e
...
solucion-e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4429e93eaf |
@@ -1 +1,22 @@
|
||||
// Agregar aquí el código javascript
|
||||
const boton = document.querySelector("#agregar");
|
||||
|
||||
boton.addEventListener("click", () => {
|
||||
const campo = document.querySelector("#agregar input");
|
||||
const texto = campo.value.trim();
|
||||
|
||||
const lista = document.querySelector("#lista ul");
|
||||
|
||||
// Si el campo está vacío, no hacemos nada.
|
||||
if (texto === "") return;
|
||||
|
||||
// Creamos el nuevo ítem y lo agregamos a la lista.
|
||||
const item = document.createElement("li");
|
||||
item.textContent = texto;
|
||||
lista.appendChild(item);
|
||||
|
||||
// Limpiamos el campo para que el usuario pueda escribir la próxima tarea.
|
||||
campo.value = "";
|
||||
// Ponemos el cursor nuevamente en el campo:
|
||||
campo.focus();
|
||||
});
|
||||
|
||||
@@ -8,6 +8,16 @@
|
||||
</head>
|
||||
<body>
|
||||
<h1>Ejercicio 2</h1>
|
||||
<div id="lista">
|
||||
<h2>Lista de tareas</h2>
|
||||
<ul>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<div id="agregar">
|
||||
<input type="text" placeholder="Descripción de la nueva tarea">
|
||||
<button type="button">Agregar tarea</button>
|
||||
</div>
|
||||
|
||||
<script src="ejercicio2.js"></script>
|
||||
</body>
|
||||
|
||||
@@ -1,46 +1 @@
|
||||
const form = document.querySelector("#formulario");
|
||||
|
||||
function mostrarError(id, mensaje) {
|
||||
document.querySelector(id).textContent = mensaje;
|
||||
}
|
||||
|
||||
function limpiarError(id) {
|
||||
document.querySelector(id).textContent = "";
|
||||
}
|
||||
|
||||
form.addEventListener("submit", (e) => {
|
||||
e.preventDefault();
|
||||
|
||||
const nombre = document.querySelector("#nombre").value.trim();
|
||||
const edad = document.querySelector("#edad").value.trim();
|
||||
const password = document.querySelector("#password").value;
|
||||
|
||||
// Limpiamos todos los errores antes de volver a validar.
|
||||
limpiarError("#error-nombre");
|
||||
limpiarError("#error-edad");
|
||||
limpiarError("#error-password");
|
||||
document.querySelector("#exito").textContent = "";
|
||||
|
||||
let valido = true;
|
||||
|
||||
if (nombre === "") {
|
||||
mostrarError("#error-nombre", "El nombre no puede estar vacío.");
|
||||
valido = false;
|
||||
}
|
||||
|
||||
if (edad === "" || parseInt(edad) < 0 || parseInt(edad) > 100) {
|
||||
mostrarError("#error-edad", "La edad no tiene un formato válido.");
|
||||
valido = false;
|
||||
}
|
||||
|
||||
if (password.length < 8) {
|
||||
mostrarError("#error-password", "La contraseña debe tener al menos 8 caracteres.");
|
||||
valido = false;
|
||||
}
|
||||
|
||||
// Solo mostramos el éxito si todos los campos son válidos.
|
||||
if (valido) {
|
||||
document.querySelector("#exito").textContent = "Formulario enviado correctamente.";
|
||||
form.reset(); // reset() limpia todos los campos del formulario
|
||||
}
|
||||
});
|
||||
// Agregar aquí el código javascript
|
||||
|
||||
@@ -1,6 +1,2 @@
|
||||
/* Agregar el código CSS necesario para el ejercicio */
|
||||
.error {
|
||||
color: red;
|
||||
font-size: 0.5em;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,22 +8,6 @@
|
||||
</head>
|
||||
<body>
|
||||
<h1>Ejercicio 7</h1>
|
||||
<form id="formulario">
|
||||
<div>
|
||||
<input type="text" id="nombre" placeholder="Nombre">
|
||||
<span class="error" id="error-nombre"></span>
|
||||
</div>
|
||||
<div>
|
||||
<input type="number" id="edad" placeholder="Edad">
|
||||
<span class="error" id="error-edad"></span>
|
||||
</div>
|
||||
<div>
|
||||
<input type="password" id="password" placeholder="Contraseña">
|
||||
<span class="error" id="error-password"></span>
|
||||
</div>
|
||||
<button type="submit">Enviar</button>
|
||||
<p id="exito"></p>
|
||||
</form>
|
||||
|
||||
<script src="ejercicio7.js"></script>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user