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