12. Controles avanzados para formularios

El estándar HTML 4.0 ha traído varias mejoras a los formularios, que acercan los mismos a las características que tienen en lenguajes como Java o Visual Basic. Desafortunadamente, el Netscape 4, lanzado al mercado antes de la aprobación del HTML 4.0, no implementa ninguna de estas mejoras, por lo que los ejemplos de este capítulo sólo serán contemplados correctamente por los usuarios de Explorer 4 y 5 y los arriesgados usuarios de las versiones beta del futuro Netscape 5.



12.1. Botones

Una de las cosas que más han mejorado son los botones. Ahora disponen de una etiqueta propia, de modo que se pueda encerrar con ella todo tipo de elementos HTML, como gráficos o, incluso, tablas enteras.

Como no podía ser de otra manera, la etiqueta en cuestión se llama BUTTON:

<BUTTON TYPE="button">
  <table border="1">
  <tr>
    <th>Soy una</th>
    <th>tabla</th>
  </tr>
  <tr>
    <td>que está</td>
    <td>en un botón</td>
  </tr>
  </table>
</BUTTON>

Los parámetros de dicha etiqueta son los normales, TYPE, que podrá tomar los valores SUBMIT (por defecto), RESET y BUTTON, NAME y VALUE.

Por otro lado, ahora podemos declarar un gráfico como un elemento más de entrada. como un nuevo tipo dentro del elemento INPUT:

<INPUT TYPE="image" SRC="graficos/nav.gif" alt="Elije navegador">

Este elemento se comportará de mismo modo que un botón de tipo SUBMIT, pero añadirá como información en el formulario las coordenadas x e y donde el usuario lo pulsó.



12.2. Etiquetas

Hasta hora, el texto que acompañaba a los campos de entrada no estaba asociado a los mismos de ninguna manera. Así, por ejemplo, si pulsábamos en el texto que acompañaba a un control de confirmación, no sucedía nada. Ahora, en cambio, si utilizamos la etiqueta LABEL, el control cambiará de estado (sólo disponible en Netscape 5):

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

Lo bueno que tiene es que se puede usar sin peligro, ya que no afectará a los usuarios de navegadores antiguos.



12.3. Agrupación de elementos

Hasta ahora, no disponíamos de ninguna manera de agrupar visualmente varios controles, si no echábamos mano de elementos que no son del formulario, como tablas o imágenes.

Ahora, si encerramos una parte de un formulario dentro de la etiqueta FIELDSET se mostrará un rectángulo alrededor de los mismos. Si además, le indicamos un título por medio de la etiqueta LEGEND nuestros formularios quedarán hechos un verdadero primor:

<FIELDSET>
  <LEGEND>Mi hermoso formulario</LEGEND>
  <LABEL>
    Mi texto:
    <INPUT TYPE="text">
  </LABEL>
</FIELDSET>
Mi hermoso formulario

LEGEND admite como parámetro ALIGN, que indicará en qué lugar se coloca el título. Por defecto es TOP (arriba), pudiendo estar también abajo (BOTTOM), a la izquierda (LEFT) o a la derecha (RIGHT).



12.4. Desactivación de elementos

Todos los controles de un formulario se pueden desactivar, impidiendo así al usuario que los utilice. Se seguirán mostrando en pantalla, aunque con un aspecto distinto para indicar su triste estado. Para ello sólo tenemos que indicarle el parámetro DISABLED:

<LABEL DISABLED>Texto:
  <INPUT TYPE=TEXT DISABLED>
</LABEL>

Esto, en principio, no parece de demasiada utilidad. ¿Para qué queremos tener controles desactivados? Para eso no los ponemos, ¿no? Lo bueno que tiene es que el estado de activación de un control es accesible desde JavaScript. Eso nos permitirá activar o desactivar una parte de nuestro formulario dependiendo de lo que el usuario haya introducido previamente en otros controles del mismo.

FormulariosMapas
© 1998-2000 Daniel Rodríguez