form

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 HTML 4
Una lista separada por comas de los tipos de contenido que el servidor acepta.

Nota de uso: este 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 HTML5
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 HTML5
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

<!-- 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>

Compatibilidad de navegadores

Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Soporte básico 1.0 1.0 (1.7 or earlier) (Yes) (Yes) (Yes)
atributo novalidate 1.0 4.0 (2.0) Not supported ? ?
Característica Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Soporte básico (Yes) 1.0 (1.0) (Yes) (Yes) (Yes)
atributo novalidate ? 4.0 (2.0) ? ? ?

Notas para Google Chrome

La interfaz de usuario para peticiones auto-complete en Google Chrome varía dependiendo de si autocomplete está establecido en off en elementos input así como su formulario. Específicamente, cuando un formulario tiene autocomplete establecido en off y sus campos autocomplete de sus elementos input no están establecidos, entonces si el usuario pregunta por sugerencias de autocompletado para el elemento input, Chrome podrá mostrar un mensaje diciendo "El autocompletado ha sido desactivado para este formulario." Por otro lado, si el formulario y el elemento input tienen autocomplete establecido como off, el navegador no mostrará este mensaje. Por esta razón, debe establecer autocomplete en off para cada input que tiene autocompletado personalizado.

Consulte también

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

Etiquetas y colaboradores del documento

Colaboradores de esta página: jesanchez, jsalinas
Última actualización por: jesanchez,