Formularios>>Tipos de campo
Ahora que ya tenemos el contenedor básico vamos
pues a pasar revista a
los diferentes tipos de controles con los que podremos incluir
datos en
el formulario.
Utilizaremos este tipo de
controles para recoger datos tales
como
los nombres, apellidos, direcciones, teléfonos y, en
general, todos aquellos de los que podamos esperar una
extensión limitada. El principal problema lo tendremos,
precisamente, al estimar cuál debe ser la longitud adecuada
para que puedan caber los datos que introduzca el visitante, ya que tan
nombre es Ana como María de las Mercedes, y mientras el
primero tiene suficiente con tres caracteres, el segundo necesita un
total de veintiuno.
Su presentación en pantalla será de este tipo:
Para insertar una entrada de texto de una línea
escribiremos primero el texto que deseamos que se utilice como etiqueta
para el control y luego utilizaremos la opción , o bien la opción que aparece al desplegar el icono
de la barra de herramientas. En el panel que se presenta aparece
como primer tipo de
control el denominado texto que es el que pretendemos crear.
En este caso no pondremos ningún valor inicial.
Desplegando el botón
encontramos unas cuantas opciones, algunas de las cuales son
específicas de este tipo de control mientras que otras, como
el
que permite especificar el orden en el que se saltará de uno
a
otro control del formulario y la tecla de acceso rápido, que
permitirá acceder de forma inmediata a ese campo pulsando la
tecla
+ la
letra indicada en este apartado. Estas opciones aparecerán
para todos los campos y sería conveniente especificarlas
para favorecer la accesibilidad.
type
para indicar el tipo de control del que se trata, mientras que
verás que sí se especifica en los otros controles
input
.
Esto se debe a que el valor text
es el que se
considera por defecto para el atributo type
de los controles input
, por lo que no es
necesario incluirlo aunque puede que lo encuentres en formularios
creados con otros programas. accesskey="letra"
El código que se
generará con el ejemplo que se ha mostrado en las
imágenes
será:
<input maxlength="50"
size="25" tabindex="1" accesskey="a" name="apellidos">
Independientemente del tamaño en pantalla que viene fijado
por el atributo size
, el atributo maxlength="n
",
sirve para especificar el número máximo de
caracteres que se podrán introducir en la caja de texto.
Aunque habitualmente el nombre
que le damos al campo suele coincidir con el texto que ponemos a su
lado no tiene por qué ser necesariamente así.
Además, si en algún momento tienes acceso a
programas para procesar los formularios, comprobarás que una
simple variación de minúscula por
mayúscula a la hora de referirnos a los nombres de los
campos es suficiente para que no funcione.
Estos controles se utilizan,
no sólo porque no
podamos
prever la extensión, sino, fundamentalmente, porque se trata
de campos abiertos en los que dejamos al visitante que se exprese sin
limitaciones. Para crear un control de este tipo seleccionaremos la
opción de menú o elegiremos la opción del
desplegable a partir del botón de
menú.
La apariencia que podríamos encontrar cuando
creemos
un
sería similar a la siguiente.
En este caso, el código es el
siguiente (observa que, mientras en el campo de texto de una sola
línea no había etiqueta de cierre en
éste tipo sí que la hay)
<textarea wrap="virtual"
cols="75" rows="4" tabindex="2" name="Aportaciones">
</textarea>
Cols
y rows
me
sirven para
especificar el ancho y el alto del cuadro de introducción de
texto.
El campo que se ha mostrado en el ejemplo lleva otro atributo
más en la etiqueta: wrap="virtual"
.
Con este atributo, que especificaremos en el apartado del panel de
creación del campo, se especifica la forma en la
que se irán
partiendo los renglones cuando alguien introduzca texto, aunque la
implementación del mismo en los diferentes navegadores es
dispar, ya que teóricamente este modo debería
funcionar de forma diferente al ajuste físico. Parece que lo
más prudente sería dejar este ajuste en el modo
predeterminado.
La especificación
de tecla de acceso rápido ya funciona correctamente desde el
panel de creación del área de texto por lo que no
necesitaremos introducir el código manualmente.
Los botones de
opción se utilizan para que el
usuario escoja entre dos o más opciones
excluyentes.
Para crear un control de este tipo escribiremos el enunciado
general del tema sobre el que solicitamos la opción
y luego iremos escribiendo el texto de cada una de las opciones
ofertadas. Finalmente elegiremos la
opción de menú o la misma
opción en el deslegable desde el icono
de la barra de herramientas para proceder a la creación del
control propiamente dicho.
El resultado final sería similar a lo siguiente:
El código que utilizaremos será
<input type="radio"
name="entrevista" value="mañana">
donde el tipo radio
indica que se
trata de botones de
opción.
Lo importante de los botones de opción es que todos
los
pertenecientes al mismo grupo deben llevar el mismo atributo en name
,
variando el correspondiente a value para diferenciar la
opción marcada. Lógicamente, para facilitar la
interpretación de los resultados recibidos, value
tendrá como valor lo mismo que hemos incluido en el
rótulo que precede a cada opción
Aunque no parece una opción demasiado respetuosa con la
libertad de elección, si quisiéramos que una de
las opciones apareciera marcada
por defecto lo haríamos marcando en el panel de
creación la opción que, visto en el código,
generaría un atributo complementario checked="checked"
Las casillas de
verificación se asemejan a los
botones de opción, pero permiten que se marque
más de una opción.
Para crear un control de este tipo seguiremos un
procedimiento idéntico al de los botones radiales, con la
única diferencia de que elegiremos la
opción de menú o la misma
opción en el deslegable desde el icono
de la barra de herramientas para la creación de cada una de
las casillas.
El resultado sería similar al siguiente:
El código correspondiente es:
<input type="checkbox"
name="Teatro" value="X">
Checkbox
indica que se trata de casillas de
verificación. En
name
iremos poniendo palabras que identifiquen
las opciones y en el
campo value pondremos el texto que queremos recibir cuando se marque la
casilla. En el ejemplo se ha puesto una X, aunque podríamos
haber puesto un Sí o cualquier otro conjunto de caracteres.
Si intentas modificar las
propiedades de una casilla de verificación o de un
botón opción haciendo doble clic sobre los mismos
o utilizando el botón derecho para acceder a sus propiedades
no lograrás lanzar el panel para hacerlo. Tendrás
que recurrir a la indicación de la etiqueta
<input>
en la barra de estado y allí utilizar el botón
derecho para lanzar las .
Los cuadros de menú permitirán presentar
una lista de opciones predeterminadas cuando creamos el formulario.
Tienen dos formas de presentación: los menús
desplegables y las listas. Salvo la forma de presentarlo, la
única diferencia importante entre ambos modos de
presentación es que mientras que en los menús
desplegables sólo se puede seleccionar una
opción, en las listas es posible seleccionar varias si
así lo indicamos al construir el formulario.
Para iniciar la creación utilizaremos la
opción de menú
de la barra de herramientas.
Una vez allí se añadirán los
ítems con una simple pulsación en el
botón,
aunque lo primero que tendremos que hacer será especificar
si se
tratará de un menú o de una lista de
selección
para lo cual tendremos que especificar la altura o bien indicar que
existe la posibilidad de realizar una opción
múltiple, ya
que en ambos casos estaríamos creando una lista, mientras
que si
no especificamos estos datos se tratará de un
menú.
El resultado, según se trate de una u otra posibilidad será similar a lo siguiente:
El código necesario es
idéntico para ambos tipos de presentaciones e incluye el
identificador de tipo select, un nombre para el menú o lista
(puede ser el que quieras aunque en este caso se haya puesto
"selecciones". A continuación se colocan las diferentes
posibilidades de la lista encerradas entre <option>
y
</option>
. Observa que,
nuevamente este tipo de campo
tiene etiquetas de cierre, tanto en las opciones como en la propia
definición del tipo.
<select
name="continentes>
<option>África</option>
<option>América</option>
<option>Asia</option>
<option>Europa</option>
<option>Oceanía</option>
</select>
La diferencia entre un
menú y una lista estriba en que la
lista lleva en la primera etiqueta un atributo
size="n"
donde n es el número de filas que tendremos a la vista
simultáneamente. Si le añadimos al final de la
etiqueta de entrada el atributo multiple="multiple"
podremos
marcar varias de las posibilidades mostradas, algo que no
podemos hacer cuando se trata de un menú. (Si no
hubiéramos especificado un tamaño para lista,
pero
sí indicamos que es posible realizar una
selección
múltiple, el tamaño pasará a ser
automáticamente el del número de ítems
de la lista)
En el panel de introducción de los opciones existe la opción
. Dado el diferente tratamiento que pueden realizar los diversos navegadores respecto a las listas o menús es conveniente que incluyas en cada lista una opción que esté seleccionada (normalmente con un valor nulo o neutro) para evitar que el navegador envíe como seleccionado el primer valor de la lista aunque no lo haya indicado el usuario.Si quieres modificar una lista de selección o
cuadro de menú ya creados añadiendo o eliminando
opciones solo podrás hacerlo desde la pestaña
...
<optgroup label="postres">
<option>fruta
</option>
<option>sorbete</option>
<option>flan</option>
<option>tarta</option>
</optgroup>
...
El atributo label sirve para especificar el nombre que recibirá el grupo de opciones
El último tipo de
control de uso habitual en
los formularios es el
botón que se utiliza para proceder al envío o la
eliminación de los datos. Para crear los botones accederemos
mediante la opción de menú o su
homóloga al desplegar el listado en el icono
de la barra de herramientas.
Si dejamos en blanco los apartados nombre del campo y valor del campo el programa especifica únicamente el tipo y deja que sea el navegador el que adjudique el texto que aparecerá en el botón en cada caso. Los botones que tienes a continuación están creados de esta forma, por lo que el texto que estás viendo en ellos es el que ha establecido el navegador con el que ves la página.
Sin embargo podemos especificar estos campos como se ve en el siguiente ejemplo y su resultado.
<input type="submit"
name="submit" value="Enviar">
<input type="reset" name="reset" value="Borrar datos">
Por comodidad lo más sencillo es hacer que los
atributos
type
y name
sean
coincidentes en cada uno de los casos. En el atributo
value
pondremos el texto que queremos que
aparezca en el
botón.
En muchas ocasiones los formularios incluyen controles que
presentan
una clara relación que permitiría agruparlos
formando una categoría. Por ejemplo, podríamos
agrupar los controles para recoger nombre, apellidos,
dirección y teléfono bajo la categoría
de datos de contacto. Para hacerlo utilizaremos la opción de
menú
de la barra de herramientas.
Además de la facilidad de interpretación visual que introduce este tipo de agrupamiento también tiene importancia el agrupamiento de controles desde el punto de vista de accesibilidad, ya que se facilita la navegación para los agentes de usuario basados en voz que pueden reproducir correctamente el agrupamiento.
La creación de un grupo de campos puede hacerse tanto como paso previo, creando primero el grupo e incluyendo posteriormente los diferentes controles, como a posteriori, arrastrando para seleccionar los rótulos y controles que se agruparán y creando para ellos el conjunto de campos.
El código que se genera con este tipo de agrupamientos es el siguiente:
<fieldset>
<legend>Datos de
contacto</legend>
... rótulos y controles ...
</fieldset>
Como puede verse la etiqueta que establece el agrupamiento es fieldset
,
mientras que legend
recoge el
rótulo con el que se identifica al mismo.