form

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Resumen

El elemento HTML form (<form>) representa una sección de un documento que contiene controles interactivos que permiten a un usuario enviar información a un servidor web.

Es posible usar las pseudo-clasess de CSS :valid e :invalid para darle estilos a un elemento form.

Contexto de uso

Categorías de contenido Contenido dinámico
Contenido permitido Contenido dinámico, pero sin contener elementos <form>
Omisión de etiquetas Ninguna, ambas, la etiqueta de apertura y cierre deben estar presentes
Normative document HTML5, section 4.10.3 (HTML4.01, section 17.3)

Atributos

Como cualquier otro elemento HTML, este elemento soporta atributos globales

accept Obsoleto

Una lista separada por comas de los tipos de contenido que el servidor acepta.

Nota: Eeste atributo ha sido removido en HTML5 y no debe ser usado. En su lugar, usar el atributo accept del elemento específico <input>.

accept-charset

Una lista de codificación de caracteres que el servidor acepta. La lista puede ser delimitada por espacios o comas. El navegador los usa en el orden en que cada uno son listados. Los valores por defecto es la cadena reservada "UNKNOWN", en tal caso la codificación corresponde a la codificación del documento conteniendo el elemento form.

HTML 4: En versiones anteriores de HTML, las diferentes codificaciones de caracteres pueden ser delimitadas por espacios o comas. Este no es más el caso en HTML5, donde sólo los espacios son correctos.

action

La URI de un programa que procesa la información enviada por medio del formulario. Este valor puede ser sobreescrito por un atributo formaction en un <button> o en el elemento<input>.

autocomplete

Indica cuales de los controles en este formulario puede tener sus valores automáticamente completados por el navegador. Esta configuración puede ser sobreescrita por un atributo autocomplete en un elemento que pertenezca al formulario:

  • off: El usuario debe ingresar explicitamente cada valor dentro de cada campo por cada uso, o el documento provee su propio método de autocompletado; el navegador no autocompleta las entradas.

  • on: El navegador puede completar automáticamente valores basados en lo que el usuario ha ingresado durante entradas previas al formulario.

Nota: Si se establece autocomplete a un valor de off en un formulario porque el documento provee su propio auto-completado entonces también se debería establecer autocomplete al valor off para cada uno de los elementos de formulario input que el documento pueda autocompletar Notas para Google Chrome.

enctype

Cuando el valor del atributo method es post, este atributo es el tipo MIME del contenido que es usado para enviar el formulario al servidor. Los posibles valores son:

  • application/x-www-form-urlencoded: El valor por defecto si un atributo no está especificado.
  • multipart/form-data: Usar este valor si se está usando el elemento <input> con el atributo type ajustado a "file".
  • text/plain (HTML5)

Este valor puede ser sobreescrito por un atributoformenctypeen un <button> o un elemento <input>.

method

El método HTTP que el navegador usa para enviar el formulario. Valores posibles son:

  • post: Corresponde al método POST HTTP ; los datos del formulario son incluidos en el cuerpo del formulario y son enviados al servidor.
  • get: Corresponde al método GET HTTP; los datos del formulario son adjuntados a la URI del atributo action , con un '?' como separador, y la URI resultante es enviada al servidor. Use este método cuando el formulario no tiene efectos secundarios y contiene solo caracteres ASCII.

Este valor puede ser sobreescrito por un atributo formmethod en un <button> o elemento <input>.

name

El nombre del formulario. En HTML4 ha quedado en desuso (debe usarse un id en su lugar). Debe ser único entre los formularios en un documento y no una cadena vacia en HTML5.

novalidate

Este atributo booleano indica que el formulario no es validado cuando es enviado. Si el atributo no existe formnovalidate en un <button> o en un elemento <input> que pertenece al formulario.

target

Un nombre o keyword indicando donde mostrar la respuesta que es recibida después de enviar el formulario. En HTML 4, este es el nombre de, o una palabra clave, para un marco. En HTML5, es un nombre de, o palabra clave para, un contexto de navegación (por ejemplo, tab, window o marco en línea). Las siguientes palabras clave tienen significados especiales:

  • _self: Carga la respuesta dentro del mismo frame HTML 4 (o en HTML5, contexto de navegación) como el marco actual. Este valor es por defecto si el atributo no es especificado.
  • _blank: Carga la respuesta dentro de una nueva ventana sin nombre en HTML 4 o un contexto de navegación en HTML5.
  • _parent: Carga la respuesta en el marco padre del marco actual en HTML 4 o en el contexto de navegación padre del marco actual en HTML5. Si no hay marco padre, esta opción se comporta de la misma manera que _self.
  • _top: HTML 4: Carga la respuesta en toda la ventana original, cancelando otros marcos. HTML5: Carga la respuesta en el contexto de navegación de más alto nivel (esto es, el contexto de navegación que es ancestro del actual, y no tiene padre). Si no hay padre, esta opción se comporta igual que _self.

HTML5: Este valor puede ser sobreescrito por un atributo formtarget en un elemento <button> o<input>.

Interfaz DOM

Este elemento implementa la interfaz HTMLFormElement.

Ejemplos

html
<!-- Formulario simple que enviará una petición GET -->
<form action="">
  <label for="GET-name">Nombre:</label>
  <input id="GET-name" type="text" name="name" />
  <input type="submit" value="Save" />
</form>

<!-- Formulario simple que enviará una petición POST -->
<form action="" method="post">
  <label for="POST-name">Nombre:</label>
  <input id="POST-name" type="text" name="name" />
  <input type="submit" value="Save" />
</form>

<!-- Formulario con conjunto de campos, leyenda y etiqueta -->
<form action="" method="post">
  <fieldset>
    <legend>Título</legend>
    <input type="radio" name="radio" id="radio" />
    <label for="radio">Clic aquí</label>
  </fieldset>
</form>

Especificaciones

Specification
HTML Standard
# the-form-element

Compatibilidad con navegadores

BCD tables only load in the browser

Consulte también

Otros elementos que son usados para crear formularios: <button>, <datalist>, <fieldset>, <input>, <label>, <legend>, <meter>, <optgroup>, <option>, <output>, <progress>, <select>, <textarea>.