11. Formularios

Una de las mayores ventajas de la web es que resulta tremendamente interactiva. Los usuarios de una p�gina no tienen m�s que escribir al autor de la misma para comentarle cualquier cosa de la misma. Sin embargo, si deseamos que nos digan s�lo unas cosas concretas (responder a alguna pregunta, seleccionar entre varias opciones, etc..) deberemos utilizar formularios. Por ejemplo,

<FORM ACTION="" METHOD=POST>
Nombre:<BR><INPUT NAME="nombre" TYPE=TEXT SIZE=32>
<BR>�Cuantos son dos y dos?<BR>
<INPUT NAME="Respuesta" TYPE=RADIO VALUE="mal">3<BR>
<INPUT NAME="Respuesta" TYPE=RADIO VALUE="bien">4<BR>
<INPUT NAME="Respuesta" TYPE=RADIO VALUE="mal">5<BR>
<INPUT TYPE="Submit" VALUE="Comprobar">
</FORM>

se ver� as�:

Nombre:

�Cuantos son dos y dos?
3
4
5

El bot�n no hace nada porque no hemos definido qu� debe hacer, as� que sean buenos y no lo activen.

Todos los elementos de un formulario deben estar encerrados entre <FORM> y </FORM>. Como par�metros cabe destacar dos. ACTION define el URL que deber� gestionar el formulario. Puede ser una direcci�n de correo pero es poco recomendable, ya que el formato en el que llega es bastante inc�modo de leer. Por ello existen muchos programas CGI que traducen de ese formato a otro m�s legible. Debes averiguar si tu servidor te proporciona uno.

Por otro lado, tenemos el par�metro METHOD define la manera en que se mandar� el formulario. Es recomendable utilizar POST.

Ahora vamos a ver uno a uno todos los elementos que podemos incluir en un formulario. Veremos que todos ellos tienen algo en com�n. Como el resultado de cualquier formulario es una lista de variables y valores asignados a las mismas, todos ellos tendr�n un atributo en com�n: el nombre de su variable. El par�metro tambi�n ser� com�n a todos: NAME.



11.1 Cajas de texto

Existen tres maneras de conseguir que el usuario introduzca texto en nuestro formulario. Las dos primeras se obtienen por medio de la etiqueta <INPUT>:

<INPUT TYPE=TEXT>
<INPUT TYPE=PASSWORD>

El primero nos dibujar� una caja donde escribir un texto (de una sola l�nea). El segundo es equivalente, pero no veremos lo que tecleemos en �l. Estos son los atributos para modificarlos:

Par�metro Utilidad
SIZE Tama�o de la caja de texto.
MAXLENGTH N�mero m�ximo de caracteres que puede introducir el usuario.
VALUE Texto por defecto que contendr� la caja.

Por otro lado, puede que necesitemos que el usuario pueda introducir m�s de una l�nea. En ese caso se utilizar� la siguiente etiqueta:

<TEXTAREA>
Por defecto
</TEXTAREA>

Lo que incluyamos entre las dos etiquetas ser� lo que se muestre por defecto dentro de la caja. Admite estos par�metros:

Par�metro Utilidad
ROWS Filas que ocupar� la caja de texto.
COLS Columnas que ocupar� la caja de texto.



11.2 Opciones

Si lo que deseamos es que el usuario decida entre varias opciones podremos hacerlo de dos modos. El primero es el que vimos en el ejemplo inicial:

3<INPUT NAME="Respuesta" TYPE=RADIO VALUE="mal"><BR>
4<INPUT NAME="Respuesta" TYPE=RADIO VALUE="bien"><BR>
5<INPUT NAME="Respuesta" TYPE=RADIO VALUE="mal"><BR>
3
4
5

Para asociar varios botones de radio a una misma variable les pondremos a todos ellos el mismo NAME. Aparte de esto acepta los siguientes par�metros:

Par�metro Utilidad
VALUE Este es el valor que asignar� a la variable.
CHECKED Si lo indicamos en una de las opciones esta ser� la que est� activada por defecto.

Pero tambi�n tenemos una posibilidad que ocupa bastante menos: las listas desplegables. Para emplearlas deberemos utilizar dos etiquetas, SELECT y OPTION:

<SELECT NAME="Navegador">
  <OPTION>Netscape
  <OPTION>Explorer
  <OPTION>Opera
  <OPTION>Lynx
  <OPTION>Otros
  </SELECT>

Los par�metros que admite SELECT son las siguientes:

Par�metro Utilidad
SIZE El n�mero de opciones que podremos ver. Si es mayor que 1 veremos una lista de selecci�n y, si no, veremos una lista desplegable.
MULTIPLE Si lo indicamos podremos elegir m�s de una opci�n.

Y OPTION estos:

Par�metro Utilidad
VALUE Este es el valor que asignar� a la variable.
SELECTED Si lo indicamos en una de las opciones esta ser� la seleccionada por defecto.



11.3 Botones del formulario

Existen dos: uno que se utiliza para mandar el formulario y otro que sirve para limpiar todo lo que haya rellenado el usuario:

<INPUT TYPE=SUBMIT><BR>
<INPUT TYPE=RESET>

Podemos cambiar el texto que el navegador pone por defecto en esos botones utilizando el par�metro VALUE.



11.4 Otros elementos

Puede que necesitos que el usuario sencillamente nos confirme o niegue algo. Lo podremos conseguir por medio de controles de confirmaci�n:

<INPUT NAME="Belleza" TYPE=CHECKBOX>Me considero guapo/a Me considero guapo/a

Si queremos que el control est� activado por defecto le a�adiremos el par�metro CHECKED. El formulario asignar� a la variable NAME el valor on u off.

Por �ltimo, existe la posibilidad de que necesitemos que, en el formulario, tengamos alguna variable con un valor previamente asignado. Por ejemplo, en todos los cursos que tengo el formulario es el mismo. Y de alguna manera tendr� que distinguirlos cuando me lleguen, digo yo. As� que incluyo algo como esto:

<INPUT TYPE=HIDDEN NAME="Curso" VALUE="HTML 4.0">
 

De este modo ya s� de que curso me est�n hablando.

Estructura del documento Mapas

� 98-99 Daniel Rodr�guez