<input type ="button">
======================

El elemento HTML **`<input type="button">`** es una versión específica del elemento **`<input>`**`,` que se usa para crear un botón en el que se puede hacer click sin ningún valor por defecto, es decir, **no tiene un comportamiento predeterminado** como por ejemplo **`<input type="reset">`** . En HTML5 ha sido sustituido por el elemento **<button>**.

Los navegadores generan un controlador para un botón clickable sin valor por defecto. El botón puede contener cualquier texto. El controlador puede varíar de un navegador a otro.

|  |  |
| --- | --- |
| Categorías de contenido (en-US) | Contenido de flujo (en-US),
 contenido de fraseo (en-US),
 contenido interactivo (en-US),
 listado (en-US),
 etiquetable (en-US), y elementos
 entregables (en-US)
 con
 contenido asociado a los formularios (en-US), contenido evidente.
  |
| Contenido permitido | Contenido de fraseo (en-US). |
| Omisión de etiquetas | Ninguna, las etiquetas de inicio y cierre son obligatorias. |
| Elementos padre permitidos | 
 Cualquier elemento que acepte
 contenido de fraseo (en-US).
  |
| Interfaz DOM | `HTMLButtonElement` (en-US) |
| Tipo de elemento | Inline |

Atributos
---------

Este elemento puede tener cualquiera de los atributos globales (en-US) además de los siguientes:

`disabled`

Este atributo booleano indica que el usuario no puede interactuar con el botón. Si este atributo no está especificado, el botón hereda su configuración del elemento contenedor, por ejemplo, `<fieldset>`; si no hay elemento contenedor con el atributo **`disabled`** establecido, el botón estará habilitado. El valor de control desactivado no es enviado con el formulario y el evento `click` no será enviado en los controles desactivados.

Firefox, al contrario que otros navegadores, mantiene por defecto el estado de desactivación dinámico de un `<button>` a lo largo de las cargas de la página. Use el atributo `autocomplete` para controlar esta característica.

`autofocus`

Este atributo booleano le permite especificar que el botón deba tener el foco cuando la página se cargue, a no ser que el usuario lo anule, por ejemplo, escribiendo en otro cuadro de texto. Únicamente un elemento asociado con los formularios en un documento puede tener este atributo especificado.

`autocomplete` 
Non-standard

El uso de este atributo en un `<button>` es algo fuera de lo común, y específico de Firefox. Firefox, por defecto y al contrario de otros navegadores, mantiene por defecto el estado de desactivación dinámico de un `<button>` a lo largo de las cargas de la página. Establecer el valor de este atributo a `off` (`autocomplete="off"`) desactiva esta característica.

`form`

El elemento del formulario con el que el botón está asociado (es *dueño del formulario*). El valor del atributo debe ser el atributo **id** de un elemento `<form>` en el mismo documento. Si este atributo no está especificado, el elemento `<button>` debe ser hijo de un elemento "formulario". Este atributo le permite colocar elementos `<button>` en cualquier lugar de un documento, y no únicamento como hijos del elemento `<form>`.

`formenctype`

Debido a que el elemento de input es un botón de envío, el atributo **`formenctype`** especifica el tipo de contenido que se usa para enviar el formulario al servidor. Los valores posibles son:

* `application/x-www-form-urlencoded`: Valor por defecto si el atributo no se especifica.
* `multipart/form-data`: Este valor se usa si un elemento `<input>` es usado con el atributo `type` fijado a `file`.
* `text/plain`

Si este atributo se especifica, ignora el atributo `enctype` del formulario dueño del botón.

`formaction`

La URI de la aplicación que procesa la información enviada por le botón. Si se especifica se anula el atributo `action` del formulario dueño del botón.

`formmethod`

Debido a que el elemento input es un botón de envío, el atributo **`formmethod`** especifica el método HTTP que el navegador utilizará para enviar el formulario. Los valores posibles son:

* `post`: Los datos del formulario son incluidos en su cuerpo y son enviados al servidor.
* `get`: Los datos del formulario son agregados a la URI del formulario, utilizando un símbolo '?' como separador, la URI resultante es enviada al servidor. Use este método cuando el formulario no tenga efectos secundarios y contenga solo caracteres ASCII.

Si se especifica, este atributo anula el atributo `method` del formulario dueño del elemento.

`formnovalidate`

Debido a que el elemento de input es un botón de envío, el atributo **`formnovalidate`** especifica que el formulario no debe ser validado cuando sea enviado. Si este atributo es especificado, se anula el atributo `novalidate` del formulario dueño del elemento. Este atributo es Booleano.

`formtarget`

Debido a que el elemento de input es un botón de envío, el atributo **`formtarget`** es un nombre o palabra clave que indica donde mostrar la respuesta recibida después de enviar el formulario. Este es un nombre de, o palabra clave para, un *contexto navegable* (por ejemplo, pestaña, ventana, o inline frame). Si este atributo es especificado, se sobreescribirá el atributo `target` del formulario dueño del elemento. Las siguientes palabras claves tienen significados especiales:

* `_self`: Carga la respuesta en el mismo contexto navegable que el actual. Este valor es el predeterminado si el atributo no es especificado.
* `_blank`: Carga la respuesta en un nuevo contexto navegable sin nombre.
* `_parent`: Carga la respuesta en el contexto navegable padre del actual. Si no hay padre, esta opción se comporta igual que `_self`.
* `_top`: Carga la respuesta en el contexto navegable superior (es el contexto navegable que es un ancestro del actual y no tiene padre). Si no hay padre, esta opción se comporta igual que `_self`.

`name`

El nombre del botón que será enviado con los datos del formulario.

`type`

El tipo dle botón. Los valores posibles son:

* `submit`: El botón envía los datos del formulario al servidor. Este es el valor predeterminado si no se especifica el atributo, o si el atributo es cambiado dinámicamente a un valor inválido o vacío.
* `reset`: El botón reinicia todos los controles a sus valores iniciales.
* `button`: El botón no tiene comportamiento predeterminado. Puede haber scripts de la parte del cliente asociados a los eventos del elemento, que serán lanzados cuando el evento ocurra.

`value`

El valor inicial del botón.

Ejemplos
--------

Se crea un nuevo input tipo botón con el valor 'Click me'.


```html
<input type="button" value="Click me" />
```

Especificaciones
----------------

| Specification |
| --- |
| HTML Standard # button-state-(type=button) |

Compatibilidad entre navegadores
--------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Ver también
-----------

* El elemento genérico `<input>` y la interface usada para manipularlo, `HTMLInputElement`
* El reemplazo en HTML5 para **<input type="button">**, el elemento **<button>**.