El Atributo NAME

Se utiliza principalmente para identificar elementos y asociar datos en formularios y metadatos.
El atributo name
en HTML se utiliza principalmente para identificar elementos y asociar datos en formularios y metadatos. Es especialmente útil en formularios para procesar datos y en elementos específicos para referencia interna.
Uso en Formularios
El caso más común es en elementos de formulario (<input>
, <select>
, <textarea>
), donde name
identifica el dato al enviar el formulario.
Ejemplo básico:
<form action="/procesar" method="POST"> <label>Nombre de usuario: <input type="text" name="username"> </label> <label>Contraseña: <input type="password" name="password"> </label> <input type="submit" value="Enviar"> </form>
Resultado al enviar:
Los datos se envían como pares clave-valor usando el name
como clave:
username=JuanPerez&password=12345
Metadatos con <meta>
En la etiqueta <meta>
, name
define el tipo de metadato para motores de búsqueda y navegadores.
Ejemplos comunes:
<head> <meta name="description" content="Descripción del sitio web"> <meta name="keywords" content="HTML, CSS, JavaScript"> <meta name="author" content="Ana García"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head>
Anclas (obsoleto en HTML5)
En versiones antiguas de HTML, se usaba para crear marcadores dentro de la página. En HTML5 se reemplaza por id
.
Ejemplo antiguo:
<a name="seccion1"></a> <h2>Sección 1</h2>
Ejemplo moderno (HTML5):
<h2 id="seccion1">Sección 1</h2>
Diferencias clave: name
vs id
Característica | name |
id |
---|---|---|
Propósito | Identificar datos en formularios | Identificar elementos únicos |
Repetición | Puede repetirse (ej: radio buttons) | Debe ser único |
Uso en URL | Sí (en parámetros GET) | No (excepto en anclas con # ) |
Acceso desde JS | document.getElementsByName() |
document.getElementById() |
Casos especiales
Radio Buttons (mismo name
para grupo)
<label> <input type="radio" name="genero" value="hombre"> Hombre </label> <label> <input type="radio" name="genero" value="mujer"> Mujer </label>
Campos de arreglo (para backend)
<input type="text" name="intereses[]"> <input type="text" name="intereses[]">
(En PHP/Ruby/Python se reciben como lista/array)
Mejores prácticas
-
Usar nombres descriptivos:
name="email"
en lugar dename="campo1"
-
Minúsculas y guiones bajos:
name="fecha_nacimiento"
Malas prácticas
-
Evitar espacios:
name="nombreUsuario"
en lugar dename="nombre usuario"
-
No usar caracteres especiales: Evitar
ñ
,ç
,#
, etc.
Errores comunes
<!-- Mala práctica: name duplicado en elementos no agrupados --> <input type="text" name="dato"> <input type="text" name="dato"> <!-- Confundir name con id --> <input type="text" id="username"> <!-- Para CSS/JS --> <input type="text" name="username"> <!-- Para backend -->
Conclusión
El atributo name
es esencial para:
-
Procesar datos de formularios
-
Definir metadatos del sitio
-
Agrupar elementos relacionados (radio buttons)
Recuerda que:
-
En HTML5,
id
reemplaza aname
para anclas -
Cada tecnología (PHP, Node.js, etc) accede a los valores usando
name
¡Ahora estás listo para usar correctamente este atributo en tus proyectos!