Tipos de

El atributo type cambia el teclado en el móvil, la validación y el control que se muestra.

type="text": Texto de una línea.

type="email": Una dirección de correo.

type="password": Una contraseña.

type="number": Un número, con flechas para subir y bajar.

  • El atributo type cambia el teclado en el móvil, la validación y el control que se muestra. Elegir bien el tipo es la forma más fácil de hacer un formulario cómodo.
  • Cada elemento lleva una definición corta y un ejemplo. En Practica, al final, tienes los mismos ejemplos para editarlos y ver el resultado al momento.
  • Esencial. Texto de una línea. Es el tipo por defecto.
  • Esencial. Una dirección de correo: el navegador comprueba que tiene forma de correo y el móvil muestra la @.
  • Esencial. Una contraseña: los caracteres se ocultan.

Introducción

El atributo type cambia el teclado en el móvil, la validación y el control que se muestra. Elegir bien el tipo es la forma más fácil de hacer un formulario cómodo.

Cada elemento lleva una definición corta y un ejemplo. En Practica, al final, tienes los mismos ejemplos para editarlos y ver el resultado al momento.

type="text"

Esencial. Texto de una línea. Es el tipo por defecto.

type="email"

Esencial. Una dirección de correo: el navegador comprueba que tiene forma de correo y el móvil muestra la @.

type="password"

Esencial. Una contraseña: los caracteres se ocultan.

type="number"

Esencial. Un número, con flechas para subir y bajar. min, max y step lo limitan.

📌 Nota. Para códigos que son números pero no se cuentan (un código postal, una tarjeta), mejor type="text" inputmode="numeric".

type="range"

Un deslizador para elegir un valor aproximado entre un mínimo y un máximo.

type="tel"

Un teléfono: el móvil muestra el teclado numérico. No comprueba el formato (cada país tiene el suyo).

type="url"

Una dirección web completa (con https).

type="search"

Un campo de búsqueda: algunos navegadores añaden un botón para borrar.

type="date"

Esencial. Una fecha, con calendario. El valor se envía como año-mes-día.

type="time"

Una hora.

type="datetime-local"

Fecha y hora juntas, sin zona horaria.

type="month"

Un mes de un año.

type="week"

Una semana de un año (número de semana).

type="color"

Un selector de color. El valor es un hexadecimal (#rrggbb).

type="checkbox"

Esencial. Una casilla que se marca o se desmarca. Cada una es independiente.

type="radio"

Esencial. Botones de opción: con el mismo name, solo se puede elegir uno. Van en un <fieldset>.

type="file"

Para elegir uno o varios ficheros. accept limita los tipos. El formulario necesita enctype="multipart/form-data".

type="hidden"

Un dato que se envía con el formulario pero no se ve ni se puede editar en la página (aunque sí se lee en el código).

type="submit"

Un botón que envía el formulario. Hoy es más habitual <button>, que admite contenido.

type="reset"

Un botón que deja el formulario como estaba al cargar. Úsalo poco: es fácil pulsarlo sin querer y perderlo todo.

type="button"

Un botón sin acción propia, para JavaScript. Es más cómodo <button type="button">.

type="image"

Un botón de envío que es una imagen. Lleva alt, como cualquier imagen.

Referencia de HTML
08

Tipos de

El atributo type cambia el teclado en el móvil, la validación y el control que se muestra.

Código del tema: <label for="t">Nombre del proyecto</label>

📘 Teoría

Introducción

1

El atributo type cambia el teclado en el móvil, la validación y el control que se muestra. Elegir bien el tipo es la forma más fácil de hacer un formulario cómodo.

2

Cada elemento lleva una definición corta y un ejemplo. En Practica, al final, tienes los mismos ejemplos para editarlos y ver el resultado al momento.

type="text"

Esencial. Texto de una línea. Es el tipo por defecto.

type="email"

Esencial. Una dirección de correo: el navegador comprueba que tiene forma de correo y el móvil muestra la @.

type="password"

Esencial. Una contraseña: los caracteres se ocultan.

type="number"

1

Esencial. Un número, con flechas para subir y bajar. min, max y step lo limitan.

2

📌 Nota. Para códigos que son números pero no se cuentan (un código postal, una tarjeta), mejor type="text" inputmode="numeric".

type="range"

Un deslizador para elegir un valor aproximado entre un mínimo y un máximo.

type="tel"

Un teléfono: el móvil muestra el teclado numérico. No comprueba el formato (cada país tiene el suyo).

type="url"

Una dirección web completa (con https).

type="date"

Esencial. Una fecha, con calendario. El valor se envía como año-mes-día.

type="time"

Una hora.

type="datetime-local"

Fecha y hora juntas, sin zona horaria.

type="month"

Un mes de un año.

type="week"

Una semana de un año (número de semana).

type="color"

Un selector de color. El valor es un hexadecimal (#rrggbb).

type="checkbox"

Esencial. Una casilla que se marca o se desmarca. Cada una es independiente.

type="radio"

Esencial. Botones de opción: con el mismo name, solo se puede elegir uno. Van en un <fieldset>.

type="file"

Para elegir uno o varios ficheros. accept limita los tipos. El formulario necesita enctype="multipart/form-data".

type="hidden"

Un dato que se envía con el formulario pero no se ve ni se puede editar en la página (aunque sí se lee en el código).

type="submit"

Un botón que envía el formulario. Hoy es más habitual <button>, que admite contenido.

type="reset"

Un botón que deja el formulario como estaba al cargar. Úsalo poco: es fácil pulsarlo sin querer y perderlo todo.

type="button"

Un botón sin acción propia, para JavaScript. Es más cómodo <button type="button">.

type="image"

Un botón de envío que es una imagen. Lleva alt, como cualquier imagen.

🕹️ Practica

Referencia interactiva Ejemplos editables: Tipos de Abrir en pantalla completa

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros. culTest

La hice en febrero de 2026 para facilitar el aprendizaje de mis alumnos. La idea es aprender desarrollo web practicando y que el proyecto siga creciendo con nuevos temas, tests y retos.

Está inspirada en MDN, W3Schools, CodePen, Manz y muchos otros sitios de documentación sobre desarrollo web. Quería combinar teoría útil, ejemplos ejecutables, retos y el sistema de tests que ya tenía en culTest. culTest

Si te gustó, si no te gustó o si quieres escribirme, puedes hacerlo en cristianeslava@gmail.com