La etiqueta HTML <input>
representa un control de entrada de formulario en un documento HTML. Un control de entrada de formulario es un control que permite al usuario ingresar datos e interactuar con un sitio web o aplicación.

Sintaxis
La etiqueta <input>
se escribe como <input>
(sin etiqueta de cierre). A una etiqueta <input>
se le asigna típicamente un atributo type
para especificar el tipo de control y un atributo name
para que el procesador del formulario pueda hacer referencia a él. A menudo se utiliza un atributo value
para especificar el valor predeterminado del control de formulario.
Hay muchos otros atributos que se pueden utilizar con la etiqueta <input>
. Estos se enumeran en la tabla a continuación.
Valor | Tipo de Dato | Tipo de Control |
---|---|---|
hidden | Una cadena arbitraria | N/A |
text | Texto sin saltos de línea | Campo de texto |
search | Texto sin saltos de línea | Campo de texto |
tel | Texto sin saltos de línea | Campo de texto |
url | Una URL absoluta | Campo de texto |
email | Una dirección de correo electrónico o una lista de direcciones de correo electrónico | Campo de texto |
password | Texto sin saltos de línea (información sensible) | Campo de texto que oculta la entrada de datos (por ejemplo, oculta la contraseña usando asteriscos () o similar) |
datetime | Una fecha y hora (año, mes, día, hora, minuto, segundo, fracción de segundo) con la zona horaria establecida en UTC | Control de fecha y hora |
date | Una fecha (año, mes, día) sin zona horaria | Control de fecha |
month | Una fecha que consiste en un año y un mes sin zona horaria | Control de mes |
week | Una fecha que consiste en un número de año de semana y un número de semana sin zona horaria | Control de semana |
time | Una hora (hora, minuto, segundo, fracciones de segundo) sin zona horaria | Control de hora |
datetime-local | Una fecha y hora (año, mes, día, hora, minuto, segundo, fracción de segundo) sin zona horaria | Control de fecha y hora |
number | Un valor numérico | Campo de texto o control de spinner |
range | Un valor numérico, con la semántica adicional de que el valor exacto no es importante | Control deslizante o similar |
color | Un color sRGB con componentes rojo, verde y azul de 8 bits | Un cuadro de color. Permite al usuario seleccionar un color. |
checkbox | Un conjunto de cero o más valores de una lista predefinida | Casilla de verificación |
radio | Un valor enumerado | Botón de radio |
file | Cero o más archivos, cada uno con un tipo MIME y, opcionalmente, un nombre de archivo | Una etiqueta y un botón |
submit | Un valor enumerado, con la semántica adicional de que debe ser el último valor seleccionado e inicia el envío del formulario | Botón |
image | Una coordenada, relativa al tamaño de una imagen en particular, con la semántica adicional de que debe ser el último valor seleccionado e inicia el envío del formulario | Ya sea una imagen clickable o un botón |
reset | N/A | Botón |
button | N/A | Botón |
Aquí tienes un ejemplo básico de la sintaxis para la etiqueta <input>
con algunos atributos:
<input type="text" name="fcolor" value="Blue">
Aquí tienes un ejemplo que contiene tres elementos <input>
dentro de un formulario típico:
<form action="process_form.cfm" method="get">
<label>Nombre: <input name="first_name"></label>
<label>Apellido: <input name="last_name"></label>
<input type="submit" value="Enviar">
</form>
Ejemplos
Formulario Básico
Aquí tienes un formulario que se utiliza para recopilar los detalles del nombre del usuario. Se utilizan tres etiquetas <input>
: dos para los detalles del nombre, una para el botón de envío.
<form action="/html/form_handler.cfm" target="_blank" method="get">
<p><label>Nombre: <input type="text" name="first_name" maxlength="100" style="width:120px;"></label></p>
<p><label>Apellido: <input type="text" name="last_name" maxlength="100" style="width:120px;"></label></p>
<input type="submit" value="Enviar">
</form>
El atributo form
Es posible asociar el elemento <input>
a un formulario utilizando el atributo form
del elemento <input>
.
Si utilizas el atributo form
del elemento <input>
, debes especificar el ID del formulario con el que deseas asociar el elemento.
En el siguiente ejemplo, he colocado todos los elementos asociados al formulario fuera del elemento <input>
. Pero he asociado intencionadamente solo dos elementos con el formulario (para demostrar el efecto del atributo form
). El nombre se ha asociado a un formulario, pero el apellido no. Por lo tanto, el apellido no se envía con el formulario y la página de acción no reconoce el apellido del usuario.
<form action="/html/form_handler.cfm" target="_blank" method="get" id="customer_name"></form>
<p><label>Nombre: <input form="customer_name" type="text" name="first_name" maxlength="100" style="width:120px;"></label></p>
<p><label>Apellido: <input type="text" name="last_name" maxlength="100" style="width:120px;"></label></p>
<input form="customer_name" type="submit" value="Enviar">
Botones de Radio
En este ejemplo, creamos botones de radio. Para ello, damos al atributo type
un valor de radio
. Cada botón de radio de un grupo debe tener el mismo valor de nombre: así es como se asocian. El valor es lo que distingue las diferentes opciones.
<p>¿Qué premio prefieres?</p>
<form>
<label><input type="radio" name="prize" value="house">Casa</label>
<label><input type="radio" name="prize" value="money">$1 millón</label>
<label><input type="radio" name="prize" value="none">No quiero premio, ¡ya soy feliz!</label>
</form>
Elementos Asociados a Formularios
La etiqueta <input>
se conoce como un elemento asociado a un formulario. Esto se debe a que puede tener un propietario de formulario.
Estos son los elementos asociados a formularios en HTML:
Atributos
Los atributos se pueden añadir a un elemento HTML para proporcionar más información sobre cómo debe aparecer o comportarse el elemento.
El elemento <input>
acepta los siguientes atributos:
Atributo | Descripción |
---|---|
accept | Especifica una lista separada por comas de tipos de contenido que acepta el servidor. Valores posibles: audio/* vídeo/* imagen/* [Un tipo MIME válido, sin parámetros]. [Una cadena cuyo primer carácter sea (U+002E) FULL STOP] (para especificar una extensión de archivo) |
alt | Texto alternativo. Especifica el texto que se utilizará en caso de que el navegador/agente de usuario no pueda renderizar el control de entrada. |
autocomplete | Impide que el navegador utilice la función “autocompletar” con este control. Puede ser útil para datos confidenciales, como detalles bancarios, etc. Valores posibles: o (valor por defecto) desactivado |
autofocus | Concede automáticamente el foco a este control cuando se carga la página. Esto permite al usuario empezar a usar el control sin tener que seleccionarlo primero. No debe haber más de un elemento en el documento con el atributo autofocus especificado.Valores posibles: [Cadena vacía] autofocus |
checked | El control de entrada estará ya seleccionado cuando se cargue la página. Se utiliza con type="radio" o type="checkbox" . |
disabled | Desactiva el control de entrada. El control no aceptará cambios del usuario. Tampoco puede recibir el foco y se omitirá al pulsar la tecla Tab. Valores posibles: [Cadena vacía] disabled |
dirname | Determina la dirección del texto tal como se envía en el campo input . El valor de este atributo puede ser una cadena de texto como un nombre para el campo. Por ejemplo, si especificas el atributo como dirname="text_dir" , una vez que el formulario se haya enviado, los datos pueden parecerse a esto: text_dir=ltr . |
form | Especifica el ID de un formulario al que pertenece este control. |
formaction | Especifica la URL del archivo que procesará el control cuando se envíe. |
formenctype | Especifica el tipo de contenido que se utiliza para codificar el conjunto de datos del formulario cuando se envía al servidor. Valores posibles: application/x-www-form-urlencoded (por defecto)multipart/form-data (para cargar archivos)text/plain (para cargar archivos) |
formmethod | Especifica el método HTTP que se utilizará cuando se envíe el control. Valores posibles: get (los datos del formulario se añaden a la URL cuando se envían)post (los datos del formulario no se añaden a la URL)dialog (cierra el cuadro de diálogo en el que se encuentra el formulario, si lo hay, y en caso contrario no lo envía). |
formnovalidate | Especifica que el formulario no debe ser validado durante el envío. Valores posibles: [Cadena vacía] novalidate |
formtarget | Especifica el contexto de navegación para cargar el destino indicado en el atributo action .Valores posibles: _blank _self _top _parent |
height | Especifica la altura del control. |
list | Especifica un elemento <datalist> que se utilizará para una lista de opciones predefinidas para el usuario. El valor debe ser el ID de un elemento <datalist> en el mismo documento. |
max | Especifica el valor máximo para el control. |
maxlength | Especifica el número máximo de caracteres que el usuario puede introducir en el campo de texto. |
min | Especifica el valor mínimo para el control. |
minlength | Especifica un límite inferior en el número de caracteres que un usuario puede introducir. |
multiple | Especifica si el usuario puede introducir más de un valor. Valores posibles: [Empty string] multiple |
name | Asigna un nombre al control de entrada. |
pattern | Especifica una expresión regular contra la que se comprobará el valor del control. El valor debe coincidir con la producción de patrones de la gramática ECMA 262. |
placeholder | Especifica una sugerencia corta (una palabra o frase corta) destinada a ayudar al usuario con la introducción de datos. Una sugerencia podría ser un valor de muestra o una breve descripción del formato esperado. |
readonly | Establece el control de entrada como de solo lectura: no permitirá al usuario cambiar el valor. El control, sin embargo, puede recibir el foco y se incluye al pulsar la tecla Tab por los controles del formulario. Valores posibles: [Empty string] readonly |
required | Especifica que el campo de entrada es un campo obligatorio (el usuario debe completar este campo). Valores posibles: [Empty string] required |
size | Especifica el ancho del control, en caracteres. Valor que es un entero no negativo válido mayor que cero. |
src | Si type="image" , este atributo especifica la ubicación de la imagen. |
step | Especifica la granularidad que se espera (y se requiere) del valor, limitando los valores permitidos. |
type | Especifica el tipo de control. |
value | Especifica un valor predeterminado para el control. Nota: Si type="checkbox" o type="radio" , este atributo es obligatorio. |
width | Especifica el ancho del control. |
Atributos Globales
Los siguientes atributos son estándar en todos los elementos HTML. Por lo tanto, puedes utilizar estos atributos con la etiqueta <input>
, así como con todas las demás etiquetas HTML.
accesskey
autocapitalize
class
contenteditable
data-*
dir
draggable
hidden
id
inputmode
is
itemid
itemprop
itemref
itemscope
itemtype
lang
part
slot
spellcheck
style
tabindex
title
translate
Para una explicación completa de estos atributos, consulta los atributos globales HTML 5.
Quiero comentar algo