Formularios: introducción

El objetivo de HTML consiste en estructurar los contenidos de una página web. Sin embargo, también pone a disposición una serie de elementos para crear aplicaciones que interactúen con aplicaciones más potentes.

Los formularios se definen con la etiquetas <form> y </form>. Dentro de estos tags incluiremos todos los elementos necesarios (botones, cuadros de texto, listas desplegables).

El tag <FORM>: Atributos

Los atributos asociados a esta etiqueta son los que se definen a continuación:

action = "url": indica la URL de la aplicación del servidor que se encarga de procesar los datos introducidos por los usuarios. Esta aplicación también se encarga de generar la respuesta que muestra el navegador. Ej: <form action="procesa-datos.php">. Este atributo será obligatorio.

method = "POST o GET" - Método HTTP empleado al enviar el formulario. En caso de utilizar el método GET los valores del formulario se agregarán a la URL definida en el atributo action. Ej.: procesa-datos.php?nombre=cecot.

enctype = "application/x-www-form-urlencoded o multipart/form-data" - Tipo de codificación empleada al enviar el formulario al servidor (sólo se indica de forma explícita en los formularios que permiten adjuntar archivos). Por defecto el valor es application/x-www-form-urlencoded. En caso de querer enviar archivos adjuntos utilizaríamos <form enctype="multipart/form-data">.

accept = "tipo_de_contenido" - Define una lista separada por comas de tipos de contenido que el script manejará correctamente. Se utiliza para filtrar archivos a enviar en el lado cliente (por ejemplo, solo permitir la subida de archivos de imagen comprimidos, como JPG y GIF). Ej: <form accept="image/gif, image/jpg">.

En la mayoría de ocasiones únicamente se utilizarán los atributos action y method.

method="post" o method="get". ¿cuál es mejor?

Al margen de otras diferencias técnicas, el método POST permite el envío de mucha más información que el método GET. En general, el método GET admite como máximo el envío de unos 500 bytes de información. La otra gran limitación del método GET es que no permite el envío de archivos adjuntos con el formulario. Además, los datos enviados mediante GET se ven en la barra de direcciones del navegador (se añaden al final de la URL de la página), mientras que los datos enviados mediante POST no se pueden ver tan fácilmente.