English version




Tutorial: Formularios en HTML


Los formularios son una característica del estándar HTML (lenguaje de marcas hipertextual) que permite a los autores colectar información provista por los visitantes. Estos formularios pueden ser útiles para recolectar información personal, información de contacto, preferencias u opiniones, o cualquier tipo de entrada por parte del visitante que el autor pueda necesitar. En este tutorial exploraremos todas las características disponibles para construir formularios en documentos HTML.

Un formulario puede ser insertado en un documento HTML mediante el tag HTML form el cual actúa como contenedor para todos los elementos de entrada (input). Toda la información recolectada por un formulario puede ser entregada a un agente procesador que es usualmente especificado en el atributo "action" (el cual puede ser suprimido mediante el uso de JavaScript). Lo que el agente procesador hace con la información y cómo la maneja es un tema que no será tratado en este sitio dado que no pertenece al estándar HTML. Para manejar datos de un formulario debes usar un script del lado servidor.

También puedes necesitar especificar cómo la información será enviada en el valor del atributo "method": "post" (los datos son adjuntados al cuerpo del formulario) o "get" (los datos son adjuntados a la URL (localizador uniforme de recursos)). Se supone que el agente procesador conoce y maneja el método de envío del formulario.

De esta forma, un formulario simple puede tener la siguiente declaración:

Code begin<form method="post" action="manejador.php">
...Controles...
</form>
Code end

Elementos de entrada (input)

La mayoría de los elementos de entrada son visuales y pueden interactuar con el usuario. Su uso depende del tipo de control y también del tipo de información que pueden recolectar. Los elementos de entrada de un formulario pueden ser definidos usando tres tags: el tag HTML input, el tag HTML button, el tag HTML select y el tag HTML textarea. En este tutorial dividiremos los controles de acuerdo con su funcionalidad. Nota: como las descripciones y atributos de cada control son tratados brevemente en este tutorial, por favor refiérete a dichos tags para más información.

Observa que el atributo "name" de cada control será el nombre utilizado para identificar los datos para el agente procesador, y el valor dependerá de la naturaleza del control (algunas veces, como en las casillas de verificación o botones radio, será el contenido del atributo "value").

Entrada de texto

Existen tres tipos de entradas de texto que pueden recolectar información textual como nombres, comentarios, etc.

Opciones

Los autores también pueden permitir a sus visitantes escoger opciones preestablecidas de una lista. Esto puede ser logrado usando uno de los tres controles siguientes, que pueden construir diferentes tipos de listas de opciones.

Botones

Los botones son útiles en formularios para enviarlos, reestablecerlos o para ejecutar funciones personalizadas. Pueden ser insertados usando el tag HTML input (submit, reset e image) o el tag HTML button (botones con contenido).

Entrada de archivos

La entrada de archivos puede ser utilizada para subir archivos al servidor. El control muestra una caja de texto donde el usuario debe especificar la ubicación del archivo (que será procesada localmente por el navegador) que será enviado hacia el servidor. De esta forma, los autores pueden pedir a los visitantes el envío de archivos mediante la página. El control usualmente muestra un botón para elegir el archivo visualmente.

Nota que para formularios con subida de archivos debes especificar el valor "multipart/form-data" en el atributo "enctype" del tag HTML form.

Código Visualización
<form method="post" action="manejador.php" enctype="multipart/form-data">
<p><input name="imagen" type="file" /></p>
</form>

Etiquetando controles

Las etiquetas de los elementos pueden hacer que tu página se vea mejor y agregar una pequeña funcionalidad para navegadores visuales (cuando un visitante hace click en la etiqueta la acción es transmitida al control asociado), pero seguramente tendrán mucho sentido para personas con discapacidades o navegadores no visuales. Una etiqueta establece una relación entre un control y un trozo de texto (que se supone ha de dar un "título" para el control).

Las etiquetas pueden ser insertadas usando el tag HTML label y son asociadas al control mediante el atributo "for". Para lograr esto, el valor del atributo "for" del tag HTML label debe coincidir con el valor del atributo "id" del control.

Código Visualización
<form method="post" action="manejador.php"><div>
<label for="idnombre">Nombre:</label> <input type="text" id="idnombre" name="nombre" /><br />
<label for="idapellido">Apellido:</label> <input type="text" id="idapellido" name="apellido" /><br /><br />
G&eacute;nero:<br /><input type="radio" id="idmasculino" name="genero" /><label for="idmasculino">Masculino</label><br />
<input type="radio" id="idfemenino" name="genero" /><label for="idfemenino">Femenino</label>
</div></form>



Género:

Agrupando elementos

Todos los elementos de un formulario pueden también ser agrupados temáticamente con el tag HTML fieldset. Este tag contiene a un grupo de controles que se relacionan unos con otros de alguna forma (por ejemplo, información personal, información laboral, información financiera, intereses, etc.).

El título para cada grupo de elementos puede establecerse con el tag HTML legend que debe ser definido justo a continuación del tag de apertura del fieldset, y proveer un título descriptivo para el grupo de controles.

Código Visualización
<form method="post" action="manejador.php">
<fieldset>
<legend>Informaci&oacute;n personal</legend>
Nombre: <input type="text" name="nombre" /><br />
Apellido: <input type="text" name="apellido" /><br />
Direcci&oacute;n: <input type="text" name="pdireccion" /><br />
Tel&eacute;fono: <input type="text" name="ptelefono" />
</fieldset>
<fieldset>
<legend>Informaci&oacute;n laboral</legend>
Direcci&oacute;n: <input type="text" name="ldireccion" /><br />
Tel&eacute;fono: <input type="text" name="ltelefono" />
</fieldset>
</form>
Información personal Nombre:
Apellido:
Dirección:
Teléfono:
Información laboral Dirección:
Teléfono:

El uso de estas agrupaciones es amplio y depende de cada formulario específico, pero puede ser muy útil para los visitantes al llenar formularios largos (especialmente para navegadores no visuales).


Próximo tutorial: Código XHTML >>


Saltar opciones al pie  |   Send to a friend Enviar a un amigo  |  Publicar en del.icio.us Publicar en del.icio.us

Publicar en Digg.com Publicar en Digg.com  |  Archivar en Furl Archivar en Furl  |  Agregar a Yahoo! MyWeb Agregar a Yahoo! MyWeb

Saltar declaraciones W3C | 

XHTML 1.0 Strict Válido  |  CSS Válido ¿Por qué confiar en nosotros? Haz click en las imágenes de la izquierda para ver que tan seriamente escribimos nuestras propias páginas, luego haz tu elección.

Icono de conformidad con el Nivel Triple-A, de las Directrices de Accesibilidad para el Contenido Web 1.0 del W3C-WAI Este sitio web da su mejor esfuerzo por lograr el nivel de conformidad Tiple-A, de las Directrices de Accesibilidad para el Contenido Web 1.0 del W3C-WAI. Si encuentras algún detalle o error que hayamos pasado por alto, no dudes en comunicárnoslo.

El poder de la Web se encuentra en su universalidad. El acceso por parte de todos más allá de la discapacidad es un aspecto esencial. -- Tim Berners-Lee, Director del W3C e inventor de la World Wide Web

 Enlázanos  |  Contáctanos  |  Más allá de HTML  |  Herramientas y recursos  |  Mapa del sitio  |  Webmaster