Formularios en HTML

Qué es un Formulario en HTML

Los formularios en HTML son la uno de los elementos principales de interacción de los usuarios con nuestra página web. 

Ejemplos de formularios pueden ser tantas ventanas de registro y acceso de usuario en una página web, enviar mensajes en foros, la propia caja de comentarios de YouTube, un registro para la hacienda pública o cuando buscamos cualquier cosa en Google. Todas estas opciones las realizamos a través de formularios. 

Esta gran variedad de opciones se debe a que disponemos una amplia gama de elementos que podemos utilizar dentro de nuestro formulario, los cuales podemos ver en el siguiente post(link post)

En este post nos vamos a centrar en cómo funciona un formulario, para ello crearemos un formulario simple y trabajaremos sobre sus opciones. 

El funcionamiento principal de un formulario es enviar información al servidor web.

1 – Creación de un formulario HTML

En este ejemplo veremos como hacer un formulario de login a una pagina web. No realizaremos la funcionalidad para comprobar si esa información es correcta, simplemente el funcionamiento del formulario. 

Lo primero que tenemos que tener claro, es que, para crear un formulario en HTML, deberemos utilizar la etiqueta <form>

Dentro de esta etiqueta vamos a añadir dos elementos.

Los cuales veremos mas en detalle en el siguiente post o video. 

Para ello incluiremos dos campos uno de usuario y otro de contraseña, entraremos mas en detalle en el siguiente video

<form >
    <input type="text" name="usuario"/>
    <input type="text" name="Pass"/>
    <input type="submit" value="Enviar">
</form>

2 – Atributos de un formulario en HTML

Por si sola la etiqueta <form> no sirve de mucho, para que envie información a nuestro servidor debemos indicar ciertos atributos. 

2.1 – Atributo action en un formulario HTML 

El primero que veremos será el atributo action, el cual nos permite indicar la dirección o página web a la que vamos a enviar la dirección. 

<form action="ejemplo.html">
    <input type="text" name="usuario"/>
    <input type="text" name="Pass"/>
    <input type="submit" value="Enviar">
</form>

Podemos ignorar el incluir este atributo, y lo que hará será enviar la dirección a la propia página.

2.2 – Atributo enctype en un formulario HTML

Este atributo nos sirve para indicar a nuestro navegador el tipo de encoding que va a tener.

Es un atributo obligatorio de indicar si vamos a incluir imágenes. Por ejemplo, para poner una imagen de perfil en un foro, debemos utilizar un formulario que contenga el atributo enctype con el valor multipart/form-data

<form action="ejemplo.html" enctype="multipart/form-data">
    <input type="text" name="usuario"/>
    <input type="text" name="Pass"/>
    <input type="submit" value="Enviar">
</form>

2.3 – Atributo Method en un formulario HTML

El atributo method nos permite indicar que método HTTP vamos a utilizar para el envió de la información. Por norma general utilizaremos POST ya que es el estándar cuando vamos a enviar información a nuestro servidor web. 

<form method="POST" action="ejemplo.html" enctype="multipart/form-data">
    <input type="text" name="usuario"/>
    <input type="text" name="Pass"/>
    <input type="submit" value="Enviar">
</form>

Pero tenemos mas opciones como son las siguientes:

  • GET: El cual lo utilizamos para consultar información de una página web, Nunca debemos utilizarlo para insertar información o modificarla, sus valores van en la URL y es el de por defecto cuando no indicamos el atributo method.
  • POST: Lo utilizamos para enviar información, normalmente para añadir. 
  • PUT: Lo utilizamos para indicar que lo que enviamos va a modificar el estado actual, lo que seria modificar la información vaya.
  • DELETE: indicado para eliminar el recurso que estamos enviando.

Cuando enviamos por diferentes métodos por si solo, no quiere decir nada, ya que el servidor o la aplicación servidor también tiene que tenerlos en cuenta. 

Si en el ejemplo anterior cambiamos el método por DELETE pero el servidor no lo tiene implementado. Lo lógico y normal es que el servidor nos indique que ese método no esta soportado por la aplicación. Aunque también puede darse el caso de que nos logue o incluso que nos salga un pete o un 404 si no esta bien implementado.