--- title: form slug: Web/HTML/Element/form translation_of: Web/HTML/Element/form original_slug: Web/HTML/Elemento/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

{{ htmlattrdef("accept") }} {{ HTMLVersionInline(4) }} {{ obsolete_inline() }}
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 {{ HTMLElement("input") }}.

{{ htmlattrdef("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.

{{ htmlattrdef("action") }}
La URI de un programa que procesa la información enviada por medio del formulario. Este valor puede ser sobreescrito por un atributo {{ htmlattrxref("formaction", "button") }} en un {{ HTMLElement("button") }} o en el elemento{{ HTMLElement("input") }}.
{{ htmlattrdef("autocomplete") }} {{ HTMLVersionInline(5) }}
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:

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 {{ anch("Notas para Google Chrome") }}.

{{ htmlattrdef("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:

Este valor puede ser sobreescrito por un atributo{{ htmlattrxref("formenctype", "button") }}en un {{ HTMLElement("button") }} o un elemento {{ HTMLElement("input") }}.

{{ htmlattrdef("method") }}
El método HTTP que el navegador usa para enviar el formulario. Valores posibles son:

Este valor puede ser sobreescrito por un atributo {{ htmlattrxref("formmethod", "button") }} en un  {{ HTMLElement("button") }} o elemento {{ HTMLElement("input") }}.

{{ htmlattrdef("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.
{{ htmlattrdef("novalidate") }} {{ HTMLVersionInline(5) }}
Este atributo booleano indica que el formulario no es validado cuando es enviado. Si el atributo no existe {{ htmlattrxref("formnovalidate", "button") }} en un {{ HTMLElement("button") }} o en un elemento  {{ HTMLElement("input") }} que pertenece al formulario.
{{ htmlattrdef("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:

HTML5: Este valor puede ser sobreescrito por un atributo {{ htmlattrxref("formtarget", "button") }} en un elemento {{ HTMLElement("button") }} o{{ HTMLElement("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

{{ CompatibilityTable() }}

Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Soporte básico 1.0 {{ CompatGeckoDesktop("1.0") }} {{ CompatVersionUnknown() }} {{ CompatVersionUnknown() }} {{ CompatVersionUnknown() }}
atributo novalidate 1.0 {{ CompatGeckoDesktop("2.0") }} {{ CompatNo() }} {{ CompatUnknown() }} {{ CompatUnknown() }}
Característica Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Soporte básico {{ CompatVersionUnknown() }} {{ CompatGeckoMobile("1.0") }} {{ CompatVersionUnknown() }} {{ CompatVersionUnknown() }} {{ CompatVersionUnknown() }}
atributo novalidate {{ CompatUnknown() }} {{ CompatGeckoMobile("2.0") }} {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }}

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: {{ HTMLElement("button") }}, {{ HTMLElement("datalist") }}, {{ HTMLElement("fieldset") }}, {{ HTMLElement("input") }},{{ HTMLElement("keygen") }}, {{ HTMLElement("label") }}, {{ HTMLElement("legend") }}, {{ HTMLElement("meter") }}, {{ HTMLElement("optgroup") }}, {{ HTMLElement("option") }}, {{ HTMLElement("output") }}, {{ HTMLElement("progress") }}, {{ HTMLElement("select") }}, {{ HTMLElement("textarea") }}.

{{ languages( { "fr": "fr/HTML/Element/Form" } ) }}