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 for para vincular el resultado con sus entradas.

Errores comunes

  1. Olvidar vincular las entradas:
    Si no usas for o JavaScript, el <output> no se actualizará.

  2. No usar JavaScript para cálculos complejos:
    El atributo oninput es útil para operaciones simples, pero para lógica avanzada, usa funciones.

  3. 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.