forked from marquez.juan/clase-9-eventos
Compare commits
2 Commits
930ee7ee56
...
ejercicio-
| Author | SHA1 | Date | |
|---|---|---|---|
| d347427c7f | |||
| 0de98801ca |
79
clase-9.js
79
clase-9.js
@@ -30,3 +30,82 @@ listaItems.addEventListener('click', function(event) {
|
|||||||
});
|
});
|
||||||
item.classList.add('seleccionado');
|
item.classList.add('seleccionado');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Ejercicio 4 - Bubbling y capturing
|
||||||
|
const externo = document.getElementById('externo');
|
||||||
|
const interno = document.getElementById('interno');
|
||||||
|
const botonCaptura = document.getElementById('botonCaptura');
|
||||||
|
|
||||||
|
externo.addEventListener('click', function() {
|
||||||
|
console.log('bubbling: externo');
|
||||||
|
});
|
||||||
|
|
||||||
|
interno.addEventListener('click', function() {
|
||||||
|
console.log('bubbling: interno');
|
||||||
|
});
|
||||||
|
|
||||||
|
botonCaptura.addEventListener('click', function() {
|
||||||
|
console.log('bubbling: button');
|
||||||
|
});
|
||||||
|
|
||||||
|
externo.addEventListener('click', function() {
|
||||||
|
console.log('capturing: externo');
|
||||||
|
}, true);
|
||||||
|
|
||||||
|
// Ejercicio 5 - Validación de formulario
|
||||||
|
const formulario = document.getElementById('formulario');
|
||||||
|
const nombreInput = document.getElementById('nombre');
|
||||||
|
const edadInput = document.getElementById('edad');
|
||||||
|
const mensajeInput = document.getElementById('mensaje');
|
||||||
|
const errorNombre = document.getElementById('errorNombre');
|
||||||
|
const errorEdad = document.getElementById('errorEdad');
|
||||||
|
const errorMensaje = document.getElementById('errorMensaje');
|
||||||
|
const formResultado = document.getElementById('formResultado');
|
||||||
|
|
||||||
|
function limpiarErrores() {
|
||||||
|
errorNombre.textContent = '';
|
||||||
|
errorEdad.textContent = '';
|
||||||
|
errorMensaje.textContent = '';
|
||||||
|
formResultado.textContent = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
formulario.addEventListener('submit', function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
limpiarErrores();
|
||||||
|
|
||||||
|
let esValido = true;
|
||||||
|
const nombre = nombreInput.value.trim();
|
||||||
|
const edadValor = edadInput.value.trim();
|
||||||
|
const mensaje = mensajeInput.value.trim();
|
||||||
|
|
||||||
|
if (!nombre) {
|
||||||
|
errorNombre.textContent = 'El nombre no puede estar vacío.';
|
||||||
|
esValido = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!edadValor) {
|
||||||
|
errorEdad.textContent = 'La edad no puede estar vacía.';
|
||||||
|
esValido = false;
|
||||||
|
} else if (!/^[0-9]+$/.test(edadValor)) {
|
||||||
|
errorEdad.textContent = 'La edad debe ser un número entero positivo.';
|
||||||
|
esValido = false;
|
||||||
|
} else {
|
||||||
|
const edad = parseInt(edadValor, 10);
|
||||||
|
if (edad <= 0 || edad >= 120) {
|
||||||
|
errorEdad.textContent = 'La edad debe ser mayor que 0 y menor que 120.';
|
||||||
|
esValido = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!mensaje) {
|
||||||
|
errorMensaje.textContent = 'El mensaje no puede estar vacío.';
|
||||||
|
esValido = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (esValido) {
|
||||||
|
formResultado.textContent = 'Formulario enviado con éxito.';
|
||||||
|
nombreInput.value = '';
|
||||||
|
edadInput.value = '';
|
||||||
|
mensajeInput.value = '';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|||||||
12
estilo.css
12
estilo.css
@@ -21,3 +21,15 @@ div {
|
|||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.error {
|
||||||
|
color: #b30000;
|
||||||
|
font-size: 0.9em;
|
||||||
|
display: block;
|
||||||
|
margin-top: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.success {
|
||||||
|
color: #0a6f0a;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|||||||
20
index.html
20
index.html
@@ -38,7 +38,25 @@
|
|||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<div id="ejercicio-5">
|
<div id="ejercicio-5">
|
||||||
<!-- Agregar acá el código HTML que haga falta para el ejercicio 5 -->
|
<form id="formulario">
|
||||||
|
<div>
|
||||||
|
<label for="nombre">Nombre:</label>
|
||||||
|
<input type="text" id="nombre" />
|
||||||
|
<span class="error" id="errorNombre"></span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="edad">Edad:</label>
|
||||||
|
<input type="text" id="edad" />
|
||||||
|
<span class="error" id="errorEdad"></span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="mensaje">Mensaje:</label>
|
||||||
|
<textarea id="mensaje"></textarea>
|
||||||
|
<span class="error" id="errorMensaje"></span>
|
||||||
|
</div>
|
||||||
|
<button type="submit">Enviar</button>
|
||||||
|
</form>
|
||||||
|
<p class="success" id="formResultado"></p>
|
||||||
</div>
|
</div>
|
||||||
<script src="clase-9.js"></script>
|
<script src="clase-9.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
Reference in New Issue
Block a user