UNPKG

programacion-web

Version:

validacion-formularios

97 lines (86 loc) 2.83 kB
// Funciones flecha para las operaciones const sumar = (a, b) => a + b; const restar = (a, b) => a - b; const multiplicar = (a, b) => a * b; const dividir = (a, b) => b !== 0 ? a / b : 'Error: División por cero'; // Función principal const calcularOperacion = (operacion) => { const numero1 = document.getElementById('numero1').value.trim(); const numero2 = document.getElementById('numero2').value.trim(); const resultado = document.getElementById('resultado'); // Validar que ambos campos tengan valores if (numero1 === '' || numero2 === '') { Swal.fire({ icon: 'error', title: 'Campos vacíos', text: 'Por favor ingresa ambos números', confirmButtonColor: '#3498db' }); return; } // Validar que sean números if (isNaN(numero1)) { Swal.fire({ icon: 'error', title: 'Número inválido', text: 'El primer valor no es un número válido', confirmButtonColor: '#3498db' }); return; } if (isNaN(numero2)) { Swal.fire({ icon: 'error', title: 'Número inválido', text: 'El segundo valor no es un número válido', confirmButtonColor: '#3498db' }); return; } // Convertir a números const num1 = parseFloat(numero1); const num2 = parseFloat(numero2); // Realizar la operación correspondiente let res; switch (operacion) { case 'sumar': res = sumar(num1, num2); break; case 'restar': res = restar(num1, num2); break; case 'multiplicar': res = multiplicar(num1, num2); break; case 'dividir': res = dividir(num1, num2); if (typeof res === 'string') { // Si es mensaje de error Swal.fire({ icon: 'error', title: 'Error en división', text: res, confirmButtonColor: '#3498db' }); resultado.value = ''; return; } break; default: res = 'Operación no válida'; } // Mostrar el resultado resultado.value = res; } // Permitir calcular al presionar Enter en cualquier campo document.getElementById('numero1').addEventListener('keypress', (e) => { if (e.key === 'Enter') { e.preventDefault(); calcularOperacion('sumar'); } }); document.getElementById('numero2').addEventListener('keypress', (e) => { if (e.key === 'Enter') { e.preventDefault(); calcularOperacion('sumar'); } });