El Atributo MULTIPLE

Permite a los usuarios seleccionar o ingresar múltiples valores en ciertos elementos de formulario, como campos de archivos, correos electrónicos o listas desplegables.
El atributo multiple en HTML permite a los usuarios seleccionar o ingresar múltiples valores en ciertos elementos de formulario, como campos de archivos, correos electrónicos o listas desplegables. Es ideal para casos donde se requiere recopilar más de un dato a la vez. Aquí te explicamos cómo usarlo correctamente:
¿Qué es el Atributo multiple?
Propósito: Permite seleccionar o ingresar múltiples valores en un solo campo.
Elementos compatibles:
-
<input type="file">: Para subir varios archivos. -
<input type="email">: Para ingresar múltiples correos electrónicos. -
<select>: Para seleccionar varias opciones de una lista desplegable.
Sintaxis Básica
El atributo multiple es booleano (no requiere valor). Se añade directamente al elemento:
<!-- Subir múltiples archivos --> <input type="file" multiple> <!-- Ingresar varios correos --> <input type="email" multiple> <!-- Seleccionar múltiples opciones --> <select multiple> <option>Opción 1</option> <option>Opción 2</option> </select>
Casos de Uso Prácticos
Subir Múltiples Archivos
Permite a los usuarios seleccionar varios archivos desde su dispositivo:
<form action="/subir-archivos" method="post" enctype="multipart/form-data"> <label>Subir fotos:</label> <input type="file" name="fotos" multiple accept="image/*"> <button type="submit">Enviar</button> </form>
Resultado: El usuario puede seleccionar múltiples imágenes (Ctrl/Cmd + clic).
Ingresar Múltiples Correos Electrónicos
Permite ingresar varios correos separados por comas:
<label>Invitar a colaboradores:</label> <input type="email" name="emails" multiple placeholder="Ej: usuario1@mail.com, usuario2@mail.com" >
Validación: El navegador verifica que cada correo tenga formato válido.
Selección Múltiple en Listas Desplegables
Permite elegir varias opciones en un <select>:
<label>Seleccione sus intereses:</label> <select name="intereses" multiple> <option value="tecnologia">Tecnología</option> <option value="deportes">Deportes</option> <option value="musica">Música</option> </select>
Interacción: El usuario selecciona múltiples opciones con Ctrl/Cmd + clic.
Manejo de Datos en el Servidor
Cuando se envía un formulario con multiple, los datos llegan al servidor como arrays o listas. Ejemplo en PHP:
// Para archivos múltiples:
$fotos = $_FILES['fotos']['name']; // Array de nombres de archivo
// Para correos múltiples:
$emails = explode(',', $_POST['emails']); // Convierte el string en array
// Para selección múltiple:
$intereses = $_POST['intereses']; // Array de valores seleccionados
Buenas Prácticas
Indica que se permiten múltiples valores:
Ej: "Seleccione múltiples opciones (Ctrl/Cmd + clic)".
Usa accept en campos de archivo:
<input type="file" multiple accept=".pdf, .docx"> <!-- Solo PDF y Word -->
Valida en el servidor:
-
Asegúrate de procesar correctamente los arrays de datos.
-
Limita el número máximo de elementos si es necesario.
Estiliza <select multiple>:
Usa CSS para ajustar la altura y facilitar la selección:
select[multiple] {
height: 120px;
padding: 8px;
}
Errores Comunes
Olvidar el atributo name con corchetes (para arrays en PHP):
<!-- Incorrecto --> <input type="file" name="foto" multiple> <!-- PHP recibirá solo el último archivo --> <!-- Correcto --> <input type="file" name="fotos[]" multiple> <!-- PHP recibe array $_FILES['fotos'] -->
No informar al usuario:
-
Si no se indica que se pueden seleccionar múltiples valores, el usuario podría no saber cómo hacerlo.
Compatibilidad en Navegadores
-
Soportado en: Chrome, Firefox, Safari, Edge y navegadores móviles modernos.
-
Limitaciones:
-
Algunos navegadores antiguos (IE11) no soportan
multipleen<input type="email">. -
En móviles, la experiencia de selección múltiple puede variar.
-
Conclusión
El atributo multiple simplifica la recopilación de múltiples datos en formularios HTML. Ya sea para subir archivos, gestionar invitaciones o seleccionar preferencias, su uso mejora la eficiencia y experiencia del usuario. ¡Implementa estos ejemplos y lleva tus formularios al siguiente nivel!