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

{{Compat("html.elements.form")}}

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" } ) }}