Compare commits
1 Commits
solucion-e
...
solucion-e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d505e030c2 |
@@ -1,37 +1 @@
|
|||||||
const empleados = [
|
// Agregar aquí el código javascript
|
||||||
{ nombre: "Ana", sector: "Desarrollo", sueldo: 150000 },
|
|
||||||
{ nombre: "Luis", sector: "Diseño", sueldo: 120000 },
|
|
||||||
{ nombre: "Marta", sector: "Desarrollo", sueldo: 160000 },
|
|
||||||
{ nombre: "Carlos", sector: "RRHH", sueldo: 110000 },
|
|
||||||
{ nombre: "Julia", sector: "Diseño", sueldo: 130000 }
|
|
||||||
];
|
|
||||||
|
|
||||||
const cuerpo = document.querySelector("#tabla tbody");
|
|
||||||
|
|
||||||
// Agregamos una fila por cada empleado.
|
|
||||||
for (const empleado of empleados) {
|
|
||||||
const fila = document.createElement("tr");
|
|
||||||
fila.innerHTML = `
|
|
||||||
<td>${empleado.nombre}</td>
|
|
||||||
<td>${empleado.sector}</td>
|
|
||||||
<td>$${empleado.sueldo.toLocaleString()}</td>
|
|
||||||
`;
|
|
||||||
// (toLocaleString() es un método que retorna el número en formato local
|
|
||||||
// (separador de miles, separador de decimales, etc)
|
|
||||||
cuerpo.appendChild(fila);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Calculamos el promedio con un bucle
|
|
||||||
let totalSueldos = 0;
|
|
||||||
for (const empleado of empleados) {
|
|
||||||
totalSueldos += empleado.sueldo;
|
|
||||||
}
|
|
||||||
const promedio = totalSueldos / empleados.length;
|
|
||||||
|
|
||||||
// Agregamos la fila de promedio al final.
|
|
||||||
const filaPromedio = document.createElement("tr");
|
|
||||||
filaPromedio.innerHTML = `
|
|
||||||
<td colspan="2"><strong>Promedio</strong></td>
|
|
||||||
<td><strong>$${Math.round(promedio).toLocaleString()}</strong></td>
|
|
||||||
`;
|
|
||||||
cuerpo.appendChild(filaPromedio);
|
|
||||||
|
|||||||
@@ -8,16 +8,6 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>Ejercicio 6</h1>
|
<h1>Ejercicio 6</h1>
|
||||||
<table id="tabla">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Nombre</th>
|
|
||||||
<th>Sector</th>
|
|
||||||
<th>Sueldo</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody></tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<script src="ejercicio6.js"></script>
|
<script src="ejercicio6.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -1 +1,46 @@
|
|||||||
// Agregar aquí el código javascript
|
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
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|||||||
@@ -1,2 +1,6 @@
|
|||||||
/* Agregar el código CSS necesario para el ejercicio */
|
/* Agregar el código CSS necesario para el ejercicio */
|
||||||
|
.error {
|
||||||
|
color: red;
|
||||||
|
font-size: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,22 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>Ejercicio 7</h1>
|
<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>
|
<script src="ejercicio7.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
Reference in New Issue
Block a user