Mis apuntes de desarrollo web </>

Formularios <form>

Los formularios son la parte fundamental de las paginas web para que los usuarios puedan enviar información a los servidores.

Estructura básica:

La estructura básica de un formulario se compone de 4 elementos:

<form>:
Es la etiqueta que engloba el formulario.
<label>:
Sirve para escribir el nombre del campo a rellenar. Debe tener el atributo for al cual se le indica un id que lo que hará será emparejar el label con su input correspondiente.
<input>:
Sirve para crear un campo que permitirá al usuario interactuar. El único atributo obligatorio del input es name.
<button>:
Crea un botón que permitirá enviar el formulario.

Forma 1 asociar <input> con <label>:

Formulario1

Forma 2 asociar <input> con <label>:

Formulario2

Ejemplo:

Tipos de <input>:

Input Descripción Ejemplo
button Visualmente es igual a un <button>, pero el formulario no se enviará.
submit Se utiliza para enviar el formulario.
date Se utiliza para introducir una fecha.
time Se utiliza para introducir una hora.
datetime-local Fecha y hora, no funciona en firefox.
month Se utiliza para introducir un mes.
week Se utiliza pra introducir el número de semana del año.
search Se utiliza para las barras de búsqueda.
tel Se utiliza para introducir números telefónicos.
email Se utiliza para introducir un email.
password Se utiliza para contraseñas.
url Se utiliza para introducir URLs.
color Se utiliza para especificar un color.
number Se utiliza para valores numéricos.
range Se utiliza para establecer un rango.
Atributo Descripción
step Atributo para determinar de cuanto en cuanto se mueve la barra.
min Valor mínimo.
max Valor máximo.
reset Se utiliza para resetear el formulario.
text Valor por defecto.
radio Permite seleccionar una única opción de una lista de opciones relacionadas. Deben tener el mismo valor en el atributo name para que funcione correctamente. El atributo checked selecciona una opción por defecto.
checkbox Permite seleccionar varias opciones de una lista de opciones relacionadas. Deben tener el mismo valor en el atributo name para que funcione correctamente. El atributo checked selecciona una o varias opciones por defecto.

<select>:

Crea una lista de opciones donde podemos seleccionar una o varias opciones. Cada opción irá dentro de una etiqueta <option> <option/>. El atributo multiple permite seleccionar varias opciones con la tecla ctrl. Si hay muchas opciones se pueden ordenar por categorías a través de la etiqueta <optgroup> con el atributo label para nombrar la categoría.

Select Ejemplo
Select normal
Select con atributo multiple
Select con categorías

<datalist>:

Funciona de forma similar al <select> solo que esta contiene un filtro para obtener más rapido las opciones disponibles. Está compuesto por un input el cual tiene un atributo llamado list al que se le asigna el id del <datalist> al que se quiere acceder.

Otros elementos:

<fieldset>:
Se utiliza para agrupar elementos dentro de un formulario.
<legend>:
Representa una etiqueta para el contenido del fieldset.
<file>:
Este input se utiliza para cargar archivos y enviarlos desde un formulario. Es necesario indicar en la etiqueta <form> el atributo enctype="multipart/form-data". Con esto se asegura que las cabeceras del formulario indican que se está enviando archivos adjuntos.
multiple;
Atributo booleano el cual da la opción al usuario de pulsar la tecla CTRL para adjuntar varios archivos a la vez, y no uno solo.
<meter>:
Representa un valor dentro de un rango conocido. Sus atributos son:
min:
Valor mínimo.
max:
Valor máximo.
value:
Valor actual.
low:
Hasta que valor son valores bajos.
high:
Hasta que valor son valores altos.
optimum:
Valor óptimo.
<progress>:
Representa el progreso de una tarea. Sus atributos son:
min:
Valor mínimo.
max:
Valor máximo.
value:
Valor actual.
<textarea>:
Se utiliza para introducir texto en un formulario. Sus atributos son:
col:
Número de columnas.
row:
Número de filas.
wrap:
Indica si el texto debe enviarse recolocado o como se ve visualmente.

Ejemplo:

Otros elementos



Atributos:

action:
Define la ubicación (URL) donde se deben enviar los datos recopilados del formulario cuando se envía.
method:
Establece el método http (GET o POST) para enviar el formulario.
name:
Nombre del formulario y los input. Sirve para el posterior procesamiento de los datos.
target:
Url de la página donde se abrirá el formulario tras ser enviado.
enctype
Codificación para el envío del formulario. Importante para envío de archivos.
autocomplete:
Activa o desactiva (on o off) el autocompletado para los campos del formulario.
novalidate:
Atributo booleano. El formulario obvia la validación HTML5.
value:
Valor por inicial del input.
placeholder:
Da una pista o indicación de lo que el usuario tiene que introducir.
size:
Tamaño visual (número de carácteres) del campo de datos.
required:
Hace que un campo sea obligatorio.
readonly:
Hace que un campo sea de solo lectura.
disabled:
Desactiva el campo, no se podrá escribir en el.
min - max:
Establecen el mínimo y máximo de un campo numérico.
minlenght - maxlenght:
Establece el minimo y máximo de caracteres de un campo de texto.
selected:
Equivale a checked en los select, sirve para establecer una opción por defecto.
autofocus:
Para poner el foco por defecto al cargar el formulario.
spellcheck:
Atributo booleano mediante el cuál se indica al navegador si debe revisar la ortografía del texto escrito en dicho elemento.

Ejemplo:

Atributos