Get to know MDN better
Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2015.
* Some parts of this feature may have varying levels of support.
El elemento HTML <input> se usa para crear controles interactivos para formularios basados en la web con el fin de recibir datos del usuario.Hay disponible una amplia variedad de tipos de datos de entrada y widgets de control, que dependen del dispositivo y el agente de usuario (user agent).El elemento <input> es uno de los más potentes y complejos en todo HTML debido a la gran cantidad de combinaciones de tipos y atributos de entrada.
| Contenido dinámico, enlistado, presentable, reajustable, elemento asociado a formulario, contenido textual. Si su atributo type no es hidden, entonces contenido etiquetable, contenido palpable. |
| Ninguno, pues es un elemento vacío. |
| Debe tener una etiqueta de apertura y no debe tener etiqueta de cierre. |
| Cualquier elemento que acepte contenido textual. |
| HTMLInputElement |
Este elemento incluye los atributos globales, y los indicados a continuación.
typeEl tipo de control a mostrar. Su valor predeterminado es text, si no se especifica este atributo. Los posibles valores son:
button: Botón sin un comportamiento específico.
checkbox: Casilla de selección. Se debe usar el atributo value para definir el valor que se enviará por este elemento. Se usa el atributo checked para indicar si el elemento está seleccionado. También se puede usar el atributo indeterminate (el cual solo se puede establecer programaticamente) para indicar que la casilla está en un estado indeterminado (en la mayoría de las plataformas, se dibuja una línea horizontal a través de la casilla).
color: Control para espicificar un color. Una interfaz de selección de color no requiere más funcionalidad que la de aceptar colores simples como texto (más información).
date: Control para introducir una fecha (año, mes y día, sin tiempo).
datetime: Control para introducir una fecha y hora (horas, minutos, segundos y fracción de segundo), basado en la zona horaria UTC. Esta característica ha sido removida de WHATWG HTML.
datetime-local: Control para introducir fecha y hora, sin zona horaria específica.
email: Campo para introducir una dirección de correo electrónico. El valor introducido se valida para que contenga una cadena vacía o una dirección de correo válida antes de enviarse. Las pseudo-clases :valid y :invalid son aplicadas segun corresponda.
file: Control que permite al usuario seleccionar un archivo. Se puede usar el atributo accept para definir los tipos de archivo que el control podrá seleccionar.
hidden: Control que no es mostrado en pantalla, pero cuyo valor es enviado al servidor.
image: Botón de envío de formulario con gráfico. Se debe usar el atributo src para definir el origen de la imagen y el atributo alt para definir un texto alternativo. Se puede usar los atributos height y width para definir el tamaño de la imagen en píxeles.
month: Control para introducir un mes y año, sin zona horaria específica.
number: Control para introducir un número de punto flotante.
password: Control de línea simple cuyo valor permanece oculto. Se puede usar el atributo maxlength para especificar la longitud máxima del valor que se puede introducir.
radio: Botón radio. Se debe usar el atributo value para definir el valor que se enviará por este elemento. Se usa el atributo checked para indicar si el elemento está seleccionado de forma predeterminada. Los botones radio que tengan el mismo valor para su atributo name están dentro del mismo "grupo de botones radio". Solo un botón radio dentro de un grupo puede ser seleccionado a la vez.
range: Control para introducir un número cuyo valor exacto no es importante. Este control usa los siguientes valores predeterminados si no se especifica cada atributo:
reset: Botón que restaura los contenidos de un formulario a sus valores predeterminados.
search: Cuadro de texto de línea simple para introducir textos de búsqueda. Los saltos de línea son eliminados automáticamente del valor introducido.
submit: Botón que envía el formulario.
tel: Control para introducir un número telefónico. Los saltos de línea son eliminados automáticamente del valor introducido, pero no hay otra sintaxis forzada. Se pueden usar atributos como pattern y maxlength para restringir los valores introducidos en este control. Las pseudo-clases CSS :valid y :invalid son aplicadas segun corresponda.
text: Campo de texto de línea simple. Los saltos de línea son eliminados automáticamente del valor introducido.
time: Control para introducir un valor de tiempo sin zona horaria específica.
url: Campo para editar una URL. El valor introducido se valida para que contenga una cadena vacía o una ruta URL absoluta antes de enviarse. Los saltos de línea y espacios en blanco al principio o al final del valor son eliminados automáticamente. Se pueden usar atributos como pattern y maxlength para restringir los valores introducidos en el control. Las pseudo-clases :valid y :invalid son aplicadas segun corresponda.
week: Control para introducir una fecha que consiste en número de semana del año y número de semana sin zona horaria específica.
Si el valor del atributo type es file, este atributo indica los tipos de archivo que el servidor acepta, de otra manera será ignorado. El valor debe ser una lista de tipos de contenido únicos, separados por coma:
Un caracter que el usuario puede presionar para establecer el cursor en el control. Este atributo es global en HTML5.
mozactionhintEspecifica una "pista de acción" usada para determinar cómo etiquetar la tecla "enter" en dispositivos móviles con teclados virtuales. Los valores soportados son go, done, next, search, y send. Esto queda automáticamente mapeado al texto apropiado y no son sensibles al uso de mayúsculas.
autocapitalizeAtributo no estándar usado por Chrome e iOS Safari Mobile, el cual controla si se deben cambiar los textos a mayúsculas automáticamente mientras son introducidos/editados por el usuario, y la forma en que esto se hará. Los valores no obsoletos están disponibles en iOS5 y superior. Los valores posibles son:
Documentation sobre autocapitalize en la Referencia HTML de Safari
autocompleteEste atributo indica si el valor del control puede ser completado automáticamente por el navegador. Los valores posibles son:
Véase el Estándar WHATWG para információn más detallada.
Si el atributo autocomplete no está especificado en un elemento input, el navegador usa el atributo autocomplete del formulario al que pertenece el elemento <input>, es decir, el elemento form del cual es descendiente el elemento <input>, o aquél cuyo id está especificado en el atributo form del elemento input. Para mayor información, véase el atributo autocomplete en <form>.
El atributo autocomplete también controla si Firefox, a diferencia de otros navegadores, persistirá el estado deshabilitado dinámico, y (si aplica) la selección dinámica de un <input> a través de las cargas de la página. La característica de persistencia está habilitada de forma predeterminada. Estableciendo el valor de autocomplete como off se deshabilita esta característica. Esto funciona aún cuando el atributo autocomplete no se aplicaría normalmente al <input> en virtud de su atributo type. Véase Error 654072 en Firefox.
Para navegadores más modernos (incluyendo Firefox 38+, Google Chrome 34+, IE 11+), establecer el atributo autocomplete no previene que el administrador de contraseñas del navegador le pregunte al usuario si desea guardar la información de inicio de sesión (usuario y contraseña), ni tampoco, de permitirlo el usuario, que se autocompleten estos campos la próxima vez que el usuario visite la página. Véase El atributo autocomplete y campos de inicio de sesión.
autocorrectEs un atributo no estándar, soportado por Safari, que es usado para controlar si la autocorrección debe estar habilitada cuando el usuario está introduciendo/editando el texto de un <input>. Los valores posibles de este atributo son:
Documentación de autocorrect en la Referencia HTML de Safari
autofocusEste atributo Booleano permite especificar que un control de formulario tenga el cursor cuando la página se carga, a menos que el usuario lo reemplace, por ejemplo, escribiendo en un control diferente. Solo un elemento de formulario en un mismo documento puede tener el atributo autofocus, el cual es Booleano. No puede ser aplicado si el atributo type tiene valor hidden (es decir, no se puede establecer automáticamente el cursor en un control oculto). Nótese que el cursor se podría establecer en el control antes de disparar el evento DOMContentLoaded.
captureCuando el valor del atributo type es file, la presencia de este atributo Booleano indica que se le dará preferencia a la captura del medio directamente del ambiente del dispositivo, usando algún mecanismo de captura de medios.
checkedCuando el valor del atributo type es radio o checkbox, la presencia de este atributo Booleano indica que el control está seleccionado de forma predeterminada. De lo contrario, será ignorado.
En Firefox, a diferencia de otros navegadores, de forma predeterminada, se persiste el estado de selección dinámico en un <input> a través de las cargas de la página. Para controlar esta característica se usa el atributo autocomplete.
disabledEste atributo Booleano indica que el control no está disponible para interacción. En particular, el evento click no será invocado en controles deshabilitados. De igual forma, el valor de un control deshabilitado no es enviado con el formulario.
En Firefox, a diferencia de otros navegadores, de forma predeterminada, se persiste el estado de selección dinámico en un <input> a través de las cargas de la página. Para controlar esta característica se usa el atributo autocomplete.
formEl elemento form al que está asociado el elemento (su formulario propietario). El valor del atributo debe ser el id de un elemento <form> en el mismo documento. Si el atributo no es especificado, este elemento <input> deberá ser descendiente de un elemento <form>. Este atributo permite poner elementos <input> en cualquier parte dentro de un documento, no solamente como descendientes de su formulario. Un input puede ser asociado sólo con un formulario.
formactionEl URI de un programa que procesa la información enviada por el elemento input, cuando es un botón de tipo submit o image. Si se especifica, reemplaza al atributo action del formulario al que pertenece el elemento.
formenctypeSi el elemento es de tipo submit o image, este atributo especifica el tipo de contenido que es usado para enviar el formulario al servidor. Los valores posibles son:
Si este atributo está especificado, reemplaza al atributo enctype del formulario al que pertenece el elemento.
formmethodSi el elemento input es un botón de tipo submit o image, este atributo especifica el método HTTP que el navegador usará para enviar el formulario. Los valores posibles son:
Si este atributo está especificado, reemplaza al atributo method del formulario al que pertenece el elemento.
formnovalidateSi el elemento input es de tipo submit o image, este atributo Booleano especifica que el formulario no será validado cuando se envíe. Si este atributo está especificado, reemplaza al atributo novalidate del formulario al que pertenece el elemento.
formtargetSi el elemento input es de tipo submit o image, este atributo es el nombre o palabra clave que indica dónde mostrar la respuesta que se recibe después de enviar el formulario. Este es el nombre, o palabra clave, de un contexto de navegación (por ejemplo, pestaña, ventana o frame incrustado). Si este atributo está especificado, reemplaza al atributo target del formulario al que pertenece el elemento. Las siguientes palabras clave tienen significado especial:
Si el valor del atributo type es image, este atributo define la altura de la imagen mostrada para el botón.
incrementalEs un atributo no estándar, soportado por WebKit (Safari) y Blink (Chrome), que solo aplica cuando el atributo type es search. Si el atributo está presente, sin importar su valor, el <input> dispara eventos search conforme el usuario edita el valor. El evento solo es disparado después de que un tiempo definido en implementación haya pasado desde la última vez que se presionó una tecla. Si el atributo está ausente, el evento search solo se disparará cuando el usuario explícitamente inicie una búsqueda (por ejemplo, presionando la tecla Enter dentro del control). Documentación de incremental en la Referencia HTML de Safari
inputmodeUna pista para el navegador sobre qué teclado mostrar. Este atributo aplica cuando el valor del atributo type es text, password, email, o url. Los valores posibles son:
Identifica una lista de opciones predefinidas como sugerencias al usuario. El valor debe ser el id de un elemento <datalist> en el mismo documento. El navegador muestra solamente las opciones que son válidas para el elemento. Este atributo es ignorado cuando el atributo type tiene valor hidden, checkbox, radio, file, o algun tipo de botón.
maxEl valor máximo (numérico o fecha-hora) para este elemento, el cual no debe ser menor que su valor mínimo (atributo min).
maxlengthSi el valor del atributo type es text, email, search, password, tel, o url, este atributo especifica el número máximo de caracteres (en puntos de código Unicode) que el usuario puede introducir. Para los otros tipos de control, es ignorado. Puede exceder el valor del atributo size. Si no se especifica, el usuario puede introducir una cantidad ilimitada de caracteres. Especificar un número negativo resulta en el comportamiento predeterminado (es decir, el usuario puede introducir una cantidad ilimitada de caracteres). La restricción es evaluada sólo cuando el valor del atributo ha sido modificado.
minEl valor mínimo (numérico o fecha-hora) para este elemento, el cual no debe ser mayor a su valor máximo (atributo max).
minlengthSi el valor del atributo type es text, email, search, password, tel, o url, este atributo especifica la longitud mínima de caracteres (en puntos de código Unicode) que el usuario puede introducir. Para los otros tipos de control, es ignorado.
multipleEste atributo Booleano indica si el usuario puede introducir más de un valor. Este atributo aplica cuando el atributo type es email o file, y en caso contrario es ignorado.
nameEl nombre del control, el cual es enviado con los datos del formulario.
patternUna expresión regular contra la que el valor es evaluado. El patrón debe coincidir con el valor completo, no solo una parte. Se puede usar el atributo title para describir el patrón como ayuda al usuario. Este atributo aplica cuando el atributo type es text, search, tel, url, email, o password, y en caso contrario es ignorado. El lenguaje de expresión regular es el mismo que el algoritmo RegExp de JavaScript, con el parámetro 'u' que permite tratar al patrón como una secuencia de código Unicode. El patrón no va rodeado por diagonales.
placeholderUna pista para el usuario sobre lo que puede introducir en el control. El texto no debe contener saltos de línea.
Nota: No se debe usar el atributo placeholder en lugar de un elemento <label>, pues sus propósitos son diferentes. El elemento <label> describe el rol del elemento en el formulario (es decir, indica qué tipo de información se espera), y el atributo placeholder es una pista sobre el formato que debe tener el contenido. Hay casos en los que el atributo placeholder no es visible para el usuario, por lo que el formulario debe ser comprensible para el usuario aunque este atributo no esté presente.
Este atributo indica que el usuario no puede modificar el valor del control. El valor del atributo es irrelevante. De ser necesario el acceso lectura-escritura al valor, no se debe agregar el atributo "readonly". Es ignorado si el atributo type es hidden, range, color, checkbox, radio, file, o de tipo botón (como button o submit).
requiredEste atributo especifica que el usuario debe llenar el control antes de enviarlo al formulario. No puede ser usado cuando el atributo type es hidden, image, o de tipo botón (submit, reset, o button). Las pseudo-clases :optional y :required se aplicarán al campo según sea apropiado.
resultsEste es un atributo no estándar, soportado por Safari, que sólo aplica cuando el atributo type es search. Es usado para controlar el máximo número de entradas que se deben mostrar en el listado nativo del <input> de búsquedas pasadas. Este valor debe ser un número entero no negativo.
selectionDirectionLa dirección en la que ocurre la selección. Esto es "forward" (hacia adelante) si la selección fue hecha de izquierda a derecha en una escritura LTR o izquierda a derecha en una escritura RTL, o "backward" (hacia atrás) si la selección fue hecha de forma opuesta. Puede ser "none" si la dirección de selección es desconocida.
selectionEndLa separación dentro del contenido de texto del último caracter seleccionado. Si no hay selección, este valor indica la separación para el caracter que sigue a la posición actual del cursor (es decir, la posición que el siguiente caracter que se escriba ocupará).
selectionStartLa separación dentro del contenido del primer caracter seleccionado. Si no hay selección, este valor indica la separación para el caracter que sigue a la posición actual del cursor (es decir, la posición que el siguiente caracter que se escriba ocupará).
sizeEl tamaño inicial del control. Este valor es en píxeles, a menos que el atributo type sea text o password, en cuyo caso será el número entero de caracteres. A partir de HTML5, este atributo aplica sólo cuando el atributo type es text, search, tel, url, email, o password, de otro modo es ignorado. Además, el tamaño debe ser mayor a cero. Si no se especifica un tamaño, se usa un valor predeterminado de 20. HTML5 simplemente establece que "el agente usuario debe asegurarse que al menos esa cantidad de caracteres sea visible", pero los caracteres pueden tener anchuras diferentes en ciertas fuentes. En algunos navegadores, una cadena con x caracteres no será completamente visible aunque su tamaño esté definido con un mínimo de x.
spellcheckSi se establece este atributo con valor true, se está indicando que se debe revisar la ortografía y gramática del elemento. El valor default indica que el elemento va a actuar acorde al comportamiento predeterminado del navegador, posiblemente basado en el valor del atributo spellcheck de su elemento padre. El valor false indica que el elemento no debe ser revisado.
srcSi el atributo type es image, este atributo especifica el URI para la ubicación de la imagen a mostrar en el botón de envío gráfico. En caso contrario, es ignorado.
stepTrabaja con los atributos min y max, para limitar el incremento de valores numéricos o de fecha-hora. Puede ser el valor any o un número positivo de punto flotante. Si no se establece este atributo como any, el control acepta solamente valores múltiplos del valor del atributo, mayores al mínimo.
tabindex específico para el elemento en HTML$, global en HTML5La posición del elemento en el orden de navegación por la tecla Tab dentro del documento.
usemap solo para HTML4El nombre de un elemento <map> usado como mapa de imagen.
valueEl valor inicial del control. Este atributo es opcional, excepto cuando el atributo type es radio o checkbox. Nótese que cuando se recarga la página, Gecko e IE ignorarán el valor especificado en el código fuente HTML, si el valor fue modificado antes de recargar.
webkitdirectoryEste atributo Booleano indica si el selector usado cuando el atributo type es file debe permitir la selección de directorios solamente.
widthSi el valor del atributo type es image, este atributo define la anchura de la imagen mostrada en el botón.
x-moz-errormessageEsta extensión de Mozilla permite especificar el mensaje de error cuando un campo no es validado exitosamente.
Nota: A partir de Gecko 2.0, llamar al método click() en un elemento <input> de tipo "file" abre el selector de archivos y permite al usuario seleccionar archivos. Véase Utilizar ficheros desde aplicaciones web para ejemplos y más detalles.
No se puede establecer el valor de un selector de archivos desde un script. Hacer algo como lo siguiente no tiene efecto alguno:
Para que Firefox presente un mensaje de error personalizado cuando la validación de un campo falla, se puede usar el atributo x-moz-errormessage:
Nótese, sin embargo, que esto no es estándar, y no tendrá efecto en otros navegadores.
Se puede usar el atributo mozactionhint para especificar el texto para la etiqueta de la tecla Enter en el teclado virtual cuando el formulario es mostrado en Firefox mobile. Por ejemplo, para mostrar una etiqueta "Next", se puede hacer esto:
El resultado es:
Los valores permitidos para ciertos tipos de <input> dependen de la región. En algunos casos, 1,000.00 is a valid number, mientras en otros la manera válida de escribir un número es 1.000,00.
Firefox usa la siguiente heurística para determinar la región con la cual validar los datos introducidos por el usuario (por lo menos para type="number"):
| HTML # the-input-element |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 10 abr 2026 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.