La Etiqueta OUTPUT

Se utiliza para mostrar el resultado de un cálculo o acción del usuario, generalmente vinculado a un formulario.
La etiqueta <output> se utiliza para mostrar el resultado de un cálculo o acción del usuario, generalmente vinculado a un formulario. Es especialmente útil para aplicaciones interactivas como calculadoras, conversores o formularios dinámicos. Su propósito es semántico: indica que el contenido es el resultado de una operación.
Sintaxis básica
<output for="id-inputs" name="nombre-resultado">Valor predeterminado</output>
Atributos principales:
| Atributo | Descripción |
|---|---|
for |
Relaciona el <output> con los elementos de entrada que lo afectan (separados por espacios). |
form |
ID del formulario al que pertenece (si no está dentro del <form>). |
name |
Nombre del resultado (útil para acceder vía JavaScript o enviar datos). |
Ejemplos prácticos
1. Calculadora simple de suma
<form oninput="resultado.value = parseInt(num1.value) + parseInt(num2.value)"> <input type="number" id="num1" value="0"> + <input type="number" id="num2" value="0"> = <output name="resultado" for="num1 num2">0</output> </form>
Al cambiar los números, el resultado se actualiza automáticamente.
Conversor de moneda (USD a EUR)
<form>
<input type="number" id="dolares" value="0" oninput="convertir()"> USD
<output id="euros" for="dolares">0</output> EUR
</form>
<script>
function convertir() {
const usd = document.getElementById("dolares").value;
document.getElementById("euros").value = usd * 0.85; // Tasa de cambio
}
</script>
Al ingresar dólares, se muestra el equivalente en euros.
Rango de valores con <output> dinámico
<label for="volumen">Volumen:</label> <input type="range" id="volumen" min="0" max="100" value="50" oninput="valorVolumen.value = this.value"> <output id="valorVolumen" for="volumen">50</output>%
Un deslizador que muestra el porcentaje seleccionado (ej: 50%).
Estilización con CSS
Personaliza el <output> para integrarlo visualmente en tu diseño:
output {
padding: 5px 10px;
background: #f0f0f0;
border: 1px solid #ccc;
border-radius: 4px;
margin-left: 10px;
font-weight: bold;
}
Accesibilidad
-
Lectores de pantalla: Reconocen
<output>como un elemento de resultado, lo que mejora la accesibilidad. -
Relaciones claras: Usa el atributo
forpara vincular el resultado con sus entradas.
Errores comunes
-
Olvidar vincular las entradas:
Si no usasforo JavaScript, el<output>no se actualizará. -
No usar JavaScript para cálculos complejos:
El atributooninputes útil para operaciones simples, pero para lógica avanzada, usa funciones. -
Ignorar valores predeterminados:
Siempre inicializa el<output>con un valor (ej:0).
Ejemplo avanzado: Calculadora IMC
<form oninput="calcularIMC()">
<label>Peso (kg): <input type="number" id="peso" value="70"></label>
<label>Altura (m): <input type="number" id="altura" value="1.75" step="0.01"></label>
<output id="imc" for="peso altura">-</output>
</form>
<script>
function calcularIMC() {
const peso = document.getElementById("peso").value;
const altura = document.getElementById("altura").value;
const imc = peso / (altura * altura);
document.getElementById("imc").value = imc.toFixed(2);
}
</script>
Muestra el Índice de Masa Corporal al ingresar peso y altura.
Conclusión
La etiqueta <output> es ideal para:
-
Mostrar resultados de operaciones en tiempo real.
-
Crear formularios interactivos sin recargar la página.
-
Mejorar la semántica y accesibilidad de tus proyectos.
Ejemplo final:
<form oninput="total.value = parseInt(precio.value) * parseInt(cantidad.value)"> <input type="number" id="precio" value="10"> Precio unitario × <input type="number" id="cantidad" value="1"> Cantidad = <output name="total" for="precio cantidad">10</output> </form>
Con este tutorial, podrás implementar <output> para crear experiencias de usuario dinámicas y profesionales.