Sei sulla pagina 1di 24

Escuela Complutense Latinoamericana

Escola Complutense Latinoamericana

Programación para Internet

HTML
Formularios

Universidade Federal de Santa Catarina


Florianópolis, Brasil
21 de mayo a 1 de junio de 2007

Páginas web e interacción del usuario

Hasta ahora, una sola forma de interacción por parte del


usuario: pulsación sobre hipervínculos.

Un segundo nivel de interacción contemplado por HTML


se encuentra en las páginas web con formularios.
Los formularios permiten al usuario enviar información
al servidor web.
El usuario rellena el formulario escribiendo datos o
seleccionándolos de entre varios posibles. Una vez
completado, pulsa un botón para poner en marcha el
envío de la información al servidor web.

El lenguaje HTML: Formularios HTML: 4 - 1


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Formularios HTML

Un formulario es una sección de un documento HTML


que contiene elementos especiales que describen
controles.
Los controles de las páginas web son similares a los
controles de los cuadros de diálogo de las aplicaciones
que ya estamos acostumbrados a utilizar: botones,
cuadros de texto, casillas de verificación, etcétera.
Principales controles que contempla HTML:

Botones de acción Listas de selección Botones de radio

Cuadros de texto
Casillas de Cuadros de texto
simples
verificación multilínea
(de una sola línea)

Aunque esos son los más utilizados, hay algunos más.

El lenguaje HTML: Formularios HTML: 4 - 2

Formularios HTML

Cuadros de texto
de una sola línea

Cuadro de texto
multilínea

Botones de radio

Lista de selección

Casillas de
verificación

Botones de acción

El lenguaje HTML: Formularios HTML: 4 - 3


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Creación de formularios

El elemento FORM delimita el formulario completo:


<FORM>...</FORM>
Dentro del elemento FORM no sólo pueden colocarse
elementos para controles del formulario, sino también
elementos HTML no específicos para formularios
(párrafos, encabezamientos, tablas).
Normalmente se mezclan convenientemente los
elementos de controles con otros tipos de elementos
que instruyen sobre el uso de los controles, describen
su utilidad o los identifican.
Un elemento de control describe la forma y el
funcionamiento del control, pero no su utilidad o
descripción; esto normalmente se hace colocando
junto al control un texto adecuado.

El lenguaje HTML: Formularios HTML: 4 - 4

Controles de formulario

Los controles se configuran con los atributos.


Muchos de los controles se crean con el elemento vacío
INPUT. Se diferencian por el valor dado al atributo TYPE:
Cuadro de texto simple (una línea):
<INPUT TYPE="text" ...
Botón de radio: <INPUT TYPE="radio" ...
Casilla de verificación: <INPUT TYPE="checkbox" ...
Botón de acción: <INPUT TYPE="tipo" ...
Tres tipos: submit reset button
Cuadro de contraseña: <INPUT TYPE="password" ...
Dato oculto: <INPUT TYPE="hidden" ...
Botón de imagen: <INPUT TYPE="image" ...
Cuadro de selección de archivo: <INPUT TYPE="file"
...

El lenguaje HTML: Formularios HTML: 4 - 5


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Controles de formulario

Otros controles se crean con otros elementos:


Cuadro de texto multilínea: <TEXTAREA ...
Lista de selección: <SELECT ...
Etiqueta activa: <LABEL ...
OPTION sirve para crear las opciones de una lista de
selección (dentro del correspondiente elemento SELECT).
Exceptuando las etiquetas activas y los botones de tipo
submit y reset, todos los demás controles de un
formulario deben estar identificados con un nombre que
se establece con el atributo NAME.
El nombre asignado a un control sirve para identificar el
resultado de la interacción del usuario con ese control al
enviar la correspondiente información al servidor web.

El lenguaje HTML: Formularios HTML: 4 - 6

Controles de formulario

El nombre del control también sirve para referirse al


mismo en guiones de programación.
Y además, en el caso de los botones de radio y las
casillas de verificación, el nombre también sirve para
agrupar los controles.

Otro atributo que se usa con muchos controles es


VALUE. Puede servir para distintas cosas:
9 Para establecer un valor inicial para un cuadro de texto
simple o un cuadro de contraseña.
9 Para establecer el valor de un dato oculto.
9 Para indicar el valor que se debe enviar cuando la
casilla de verificación o el botón de radio está activado
(por defecto se envía simplemente on), así como
cuando la opción de la lista de selección ha sido elegida.

El lenguaje HTML: Formularios HTML: 4 - 7


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Cuadros de texto simples

Campos de formulario que permiten al usuario introducir


una línea de texto (y sólo una).
<INPUT TYPE="text" NAME="nombre">
El elemento INPUT tan sólo coloca el cuadro de texto,
por lo que se deberá colocar algún texto junto a él para
que el usuario sepa qué información se espera que
introduzca en el cuadro de texto:
<P>Nombre: <INPUT TYPE="text"
NAME="Nombre"></P>

El lenguaje HTML: Formularios HTML: 4 - 8

Cuadros de texto simples

Atributos de los cuadros de texto simples


SIZE: Tamaño del cuadro de texto en caracteres.
MAXLENGTH: Número máximo de caracteres que se
pueden introducir; si es mayor que SIZE, el texto se
puede desplazar.
DISABLED (desactivado): no se puede modificar su
contenido (el texto que contenga aparecerá atenuado)
(no toma valor).
READONLY (sólo lectura): se puede usar su contenido
(para copiarlo, por ejemplo), pero no modificarlo
(no toma valor).
TITLE: pista de pantalla a mostrar cuando el puntero
del ratón está encima del cuadro de texto.

El lenguaje HTML: Formularios HTML: 4 - 9


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Cuadros de texto simples: resultado

Cuando se envía el formulario, el texto introducido en el


cuadro de texto se coloca precedido por el nombre del
control y un signo =.

Formulario1.html

Envío por medio de un mensaje


de correo electrónico

El lenguaje HTML: Formularios HTML: 4 - 10

Cuadros de texto multilínea

Campos de formulario que permiten al usuario introducir


cualquier cantidad de texto.
El cuadro tiene barra de desplazamiento vertical y si se
pulsa INTRO al introducir texto, se crea un nuevo párrafo.
<TEXTAREA NAME="nombre">
Contenido inicial del cuadro de texto
</TEXTAREA>
El elemento TEXTAREA tan sólo coloca el cuadro, por lo
que se deberá colocar algún texto junto a él para que el
usuario sepa qué información se espera que introduzca.

El lenguaje HTML: Formularios HTML: 4 - 11


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Cuadros de texto multilínea

Atributos de los cuadros de texto multilínea


Tamaño del cuadro de texto: atributos COLS (ancho
en caracteres) y ROWS (filas visibles).
<P>Introduzca su dirección:<BR>
<TEXTAREA COLS="40" ROWS="4" NAME="Dirección">
Avenida de Los Conquistadores, 15
28345 Madrid
España</TEXTAREA></P>

Para los cuadros de texto multilínea también se pueden


ajustar los atributos DISABLED, READONLY y TITLE.

El lenguaje HTML: Formularios HTML: 4 - 12

Cuadros de texto multilínea: resultado

nombre_del_control=texto_introducido
El primer párrafo de texto va a continuación del =;
cada párrafo siguiente comienza en una nueva línea.

Formulario1.html

El lenguaje HTML: Formularios HTML: 4 - 13


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Botones de acción

Botones que se pueden pulsar para que se haga algo.


Su aspecto y funcionamiento es el que podemos esperar.
Se contemplan tres tipos de botones de acción: dos con
su funcionalidad ya establecida y otro de uso general.
Botón de envío:
Para enviar la información del formulario.
Botón de borrado: Para volver a poner los controles
(sus contenidos o selecciones) en su estado inicial.
Botón general:
Para realizar alguna acción que se configura mediante
guiones de programación (se usa button como tipo).
Con el atributo VALUE se establece el texto que debe
figurar dentro del botón y se pueden usar los atributos
DISABLED y TITLE.

El lenguaje HTML: Formularios HTML: 4 - 14

Botones de acción

Botones de envío (submit)


<INPUT TYPE="submit" VALUE="Enviar">
El tamaño del botón se adapta a su etiqueta (VALUE).
Cuando se pulsa se envían los datos del formulario.

Botones de borrado (reset)


<INPUT TYPE="reset" VALUE="Borrar">
El tamaño del botón se adapta a su etiqueta (VALUE).
Cuando se pulsa se restauran los datos del formulario.

El lenguaje HTML: Formularios HTML: 4 - 15


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Opciones de envío

Lo que se debe hacer cuando se pulse el botón de envío


(submit) se especifica con atributos del elemento FORM.
<FORM ACTION="URL" METHOD="método"
ENCTYPE="codificación">
ACTION:
Especifica la dirección (URL) del programa que se
encargará del procesamiento de los datos enviados.
<FORM ACTION="http://servidor.es/cgi-bin/prog">
También admite como URL una dirección de correo
electrónico, precedida por mailto:; en este caso los
datos del formulario se envían como cuerpo de un
mensaje de correo electrónico a la dirección indicada:
<FORM ACTION="mailto:lhy@sip.ucm.es">

El lenguaje HTML: Formularios HTML: 4 - 16

Opciones de envío

<FORM ACTION="URL" METHOD="método"


ENCTYPE="codificación">
METHOD:
Especifica la forma en la que se deben transmitir los
datos del formulario al servidor web.
Hay dos valores posibles para este atributo:
9 get: los datos se añaden al final del URL
precedidos por un signo de interrogación (?).
Es el método predeterminado.
9 post: los datos se incrustan en el encabezamiento
de la solicitud HTTP, no quedando a la vista.
Cuando se especifica con ACTION una dirección de
correo electrónico, el único método válido es post.

El lenguaje HTML: Formularios HTML: 4 - 17


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Opciones de envío

Ejemplo de uso del método get (predeterminado):

<FORM ACTION="http://servidor.es/cgi-bin/prog">
<P>Nombre: <INPUT TYPE="text" NAME="Nombre"></P>
<P>Introduzca su dirección:<BR>
<TEXTAREA COLS="40" ROWS="4" NAME="Dirección">
</TEXTAREA></P>
<BR>
<INPUT TYPE="submit" VALUE="Enviar">
<INPUT TYPE="reset" VALUE="Borrar">
</FORM>

El lenguaje HTML: Formularios HTML: 4 - 18

Opciones de envío

Formulario.html

http://servidor.es/cgi-bin/prog?Nombre=Luis&Dire
cci%F3n=Mayor+15%0D%0A28345+Madrid

El lenguaje HTML: Formularios HTML: 4 - 19


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Opciones de envío
<FORM ACTION="URL" METHOD="método"
ENCTYPE="codificación">
ENCTYPE:
Especifica la codificación que se debe utilizar para
expresar los datos al transmitir el formulario.
Por defecto tiene establecido el valor
application/x-www-form-urlencoded
Esa codificación separa los campos con &, convierte los
espacios a signos más (+) y pone los caracteres no
alfanuméricos con un signo de porcentaje (%) seguido de
su código hexadecimal.
http://servidor.es/cgi-bin/prog?Nombre=Luis&Dire
cci%F3n=Mayor+15%0D%0A28345+Madrid

ó cambio de párrafo (CR+LF)

El lenguaje HTML: Formularios HTML: 4 - 20

Opciones de envío
Cuando se envían los datos del formulario en un
mensaje de correo electrónico, ENCTYPE debe tomar
el valor text/plain.
El campo Asunto del mensaje de correo electrónico:
Si se quiere establecer el campo Asunto del mensaje de
correo electrónico, se puede colocar un signo de
interrogación (?) al final de la dirección de correo
(en el valor del atributo ACTION) seguido de subject=
y el texto de asunto:
<FORM
ACTION="mailto:lhy@sip.ucm.es?subject=Respuesta
de formulario" METHOD="post"
ENCTYPE="text/plain">
No es un buen método de envío, pero nos sirve.

El lenguaje HTML: Formularios HTML: 4 - 21


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Formularios en HomeSite

HomeSite dispone de una barra de acceso rápido Forms


que contiene botones para ayudar con los formularios:

Botón Botón de Botón Casilla de


de envío borrado de radio verificación

Nuevo Cuadro de Dato Cuadro de Lista de


formulario texto simple oculto texto multilínea selección

El lenguaje HTML: Formularios HTML: 4 - 22

Formularios en HomeSite

Al pulsar el botón Form (nuevo formulario) aparece un


cuadro de diálogo que pregunta por la información
general del formulario:

El lenguaje HTML: Formularios HTML: 4 - 23


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Formularios en HomeSite

Cuadro de texto simple: botón Text.


Aparece el cuadro de diálogo Tag Editor - INPUT:

Tipos de
controles

El lenguaje HTML: Formularios HTML: 4 - 24

Ejercicio (primer paso)

Formulario.html

40 caracteres

30 caracteres

4 líneas de
40 caracteres

10 caracteres

3 caracteres

El lenguaje HTML: Formularios HTML: 4 - 25


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Ejercicio (primer paso): resultado

El lenguaje HTML: Formularios HTML: 4 - 26

Casillas de verificación
Campos de formulario que pueden estar activados o
desactivados.
<INPUT TYPE="checkbox" NAME="nombre">
El elemento INPUT tan sólo coloca la casilla de
verificación en sí, por lo que se deberá poner algún
texto junto a ella para que el usuario sepa qué
información es la que puede activar o desactivar.
<P><INPUT TYPE="checkbox"
NAME="Libros">Libros</P>
Por defecto, si la casilla está activada lo que se envía es
el nombre del control seguido de un = y seguido de on.
Se puede establecer otro valor a enviar por medio del
atributo VALUE:
<INPUT TYPE="checkbox" NAME="Libros"
VALUE="Si">
El lenguaje HTML: Formularios HTML: 4 - 27
Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Casillas de verificación

Para que la casilla de verificación esté inicialmente


activada se usa el atributo CHECKED (no toma valor).
<P>Deseo recibir información sobre novedades
de:<BR>
<INPUT TYPE="checkbox" NAME="Libros" VALUE="Si"
CHECKED>Libros<BR>
<INPUT TYPE="checkbox" NAME="Discos" VALUE="Si"
CHECKED>CDs musicales<BR>
<INPUT TYPE="checkbox" NAME="Vídeos" VALUE="Si"
CHECKED>Vídeos
</P>

Se pueden usar los atributos DISABLED y TITLE.

El lenguaje HTML: Formularios HTML: 4 - 28

Casillas de verificación: resultado

Formulario2.html

El lenguaje HTML: Formularios HTML: 4 - 29


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Botones de radio

Parecidos a las casillas de verificación.


Van agrupados (dando el mismo nombre a sus
respectivos controles). Sólo uno podrá estar activado.
Se usan para representar opciones mutuamente
excluyentes.
<INPUT TYPE="radio" NAME="nombre">
Se suele usar el atributo CHECKED con el botón
de radio que representa la opción por defecto:
<P>Sexo:<BR>
<INPUT TYPE="radio" NAME="Sexo"
VALUE="Hombre" CHECKED>Hombre<BR>
<INPUT TYPE="radio" NAME="Sexo"
VALUE="Mujer">Mujer</P>
Se pueden usar los atributos DISABLED y TITLE.

El lenguaje HTML: Formularios HTML: 4 - 30

Botones de radio: resultado

Formulario2.html

El lenguaje HTML: Formularios HTML: 4 - 31


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Casillas de verificación y botones de radio en HomeSite

El lenguaje HTML: Formularios HTML: 4 - 32

Ejercicio (segundo paso)

Formulario.html

El lenguaje HTML: Formularios HTML: 4 - 33


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Ejercicio (segundo paso): resultado

El lenguaje HTML: Formularios HTML: 4 - 34

Listas de selección

Conjuntos de opciones relacionadas entre las que elegir.


La lista en sí se crea con el elemento SELECT .
Dentro del elemento SELECT se crean las distintas
opciones con elementos OPTION.
Para que se envíe la información de la lista de selección,
se debe asignar un nombre al control (atributo NAME de
SELECT):
<P>¿Cómo desea que contactemos con usted?
<SELECT NAME="Contacto">
<OPTION>Por teléfono</OPTION>
<OPTION>Por correo electrónico</OPTION>
<OPTION>Por correo postal</OPTION>
<OPTION>Visitando su domicilio</OPTION>
</SELECT>
</P>

El lenguaje HTML: Formularios HTML: 4 - 35


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Listas de selección

Las opciones se pueden mostrar de dos formas:


9 Como una lista desplegable
con las opciones (por defecto).
9 Como un cuadro de opciones con
barra de desplazamiento.
Atributo SIZE de SELECT con el
número de opciones visibles.
Si se quiere que inicialmente esté una de las opciones
ya seleccionada, se usa el atributo SELECTED en el
elemento OPTION correspondiente.
Valores específicos para las opciones: atributo VALUE:
<SELECT NAME="Contacto">
<OPTION VALUE="TELEF">Por teléfono</OPTION>
<OPTION VALUE="EMAIL">Por correo
electrónico</OPTION>
...

El lenguaje HTML: Formularios HTML: 4 - 36

Listas de selección: selecciones múltiples

Se puede permitir al usuario que seleccione más de una


opción en la lista de selección con el atributo MULTIPLE
del elemento SELECT (no toma valor).
La lista tendrá forma de cuadro de selección y se puede
usar el atributo SELECTED en varios elementos OPTION.
<P>¿Cómo desea que contactemos con usted?<BR>
<SELECT NAME="Contacto" MULTIPLE SIZE="3">
<OPTION VALUE="TELEF" SELECTED>Por teléfono</OPTION>
<OPTION VALUE="EMAIL">Por correo electrónico</OPTION>
<OPTION VALUE="CORREO" SELECTED>Por correo
postal</OPTION>
<OPTION VALUE="VISITA">Visitando su domicilio</OPTION>
</SELECT>
</P>

El lenguaje HTML: Formularios HTML: 4 - 37


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Ejercicio (tercer paso)

Formulario.html

El lenguaje HTML: Formularios HTML: 4 - 38

Ejercicio (tercer paso): resultado

El lenguaje HTML: Formularios HTML: 4 - 39


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Otros controles de formulario

Cuadro de contraseña
Un cuadro de texto simple en que, como cabría esperar,
el texto aparece como asteriscos al escribirlo.
<INPUT TYPE="password" NAME="Clave">

Dato oculto
Un dato oculto no tiene control asociado en el
formulario; se usa para enviar datos que no ve el
usuario en la pantalla.
<INPUT TYPE="hidden" NAME="Cliente"
VALUE="Prioritario">

El lenguaje HTML: Formularios HTML: 4 - 40

Otros controles de formulario

Botón de imagen
Es una forma especial de botón de envío que representa
una alternativa al botón submit estándar.
<INPUT TYPE="image" SRC="botón.gif" NAME="Send"
ALT="Enviar los datos">
Además de poner en marcha el envío de los datos del
formulario, se añade información sobre el lugar de la
imagen sobre el que el usuario ha pulsado (coordenadas
x e y, en píxeles, desde la esquina superior izquierda).
Esto permite distinguir distintos
tipos de envíos según se pulse
en una u otra zona de la imagen.

El lenguaje HTML: Formularios HTML: 4 - 41


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Otros controles de formulario

Etiquetas activas (LABEL)


Para ampliar el foco de los botones de radio y las casillas
de verificación al texto que se les adjunta.
Sin etiquetas activas, el usuario sólo puede pulsar sobre
el botón de radio o la casilla en sí.
Si se convierte el texto adjunto en una etiqueta activa,
el usuario también puede pulsar sobre ese texto.
Para hacerlo, hay que seguir estos pasos cada vez:
1. Establecer un identificador para el botón de radio o
la casilla de verificación, por medio del atributo ID.
2. Crear un elemento LABEL que tenga asignado a su
atributo FOR el identificador del botón de radio o la
casilla de verificación. Lo normal es encerrar el
elemento INPUT dentro del LABEL.

El lenguaje HTML: Formularios HTML: 4 - 42

Etiquetas activas

Sin etiqueta activa:


<INPUT TYPE="radio" NAME="Sexo">Hombre

Con etiqueta activa:


<LABEL FOR="Hombre">
<INPUT TYPE="radio" NAME="Sexo"
ID="Hombre">Hombre
</LABEL>

Aunque se haga uso del atributo ID, el atributo NAME


sigue siendo necesario para que se envíe la información
correspondiente al botón de radio o la casilla de
verificación.

El lenguaje HTML: Formularios HTML: 4 - 43


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Ejercicio (último paso)

Formulario.html

Etiquetas
activas

Imagen:
ojos.gif
Enviar los datos

El lenguaje HTML: Formularios HTML: 4 - 44

Ejercicio (último paso): resultado

El lenguaje HTML: Formularios HTML: 4 - 45


Universidad Complutense de Madrid Universidade Federal de Santa Catarina
Teclas de acceso y orden de tabulación

Se puede asignar una combinación de teclas Alt+letra a un


control de un formulario asignando la letra al atributo
ACCESSKEY. Cuando se hace, se puede activar el control
(poner en él el foco) pulsando la combinación Alt+letra.
Por otro lado, en los formularios está establecido un
orden de tabulación: estando activado (teniendo el foco)
un control, al pulsar la tecla Tab se pasa al control que
tenga el siguiente índice de tabulación (un número).
Por defecto se asignan los índices de tabulación en el
mismo orden en el que se colocan (describen) los
controles en la página (en el documento).
Se puede alterar el orden natural de tabulación entre
controles estableciendo índices de tabulación concretos a
los controles, asignando números a los atributos
TABINDEX (se recorrerán de menor a mayor).

El lenguaje HTML: Formularios HTML: 4 - 46

Un caso de estudio

Páginas de la web de Informática El Acuario


Carpeta Empresa:
9 Principal.html
9 Producto1.html
9 Producto2.html
9 Producto3.html
9 Servicio1.html
9 Servicio2.html
9 Novedades.html
9 Formulario.html
9 MapaWeb.html

El lenguaje HTML: Formularios HTML: 4 - 47


Universidad Complutense de Madrid Universidade Federal de Santa Catarina

Potrebbero piacerti anche