Formularios

Los formularios nos permiten dentro de una página Web solicitar información al visitante y procesarla.


En un formulario podremos solicitar diferentes datos (campos) cada uno de los cuales quedará asociado a una variable. Una vez se hayan introducido los valores en los campos, el contenido de éstos será enviado a la dirección (URL) donde tengamos el programa que pueda procesar las variables.


Para poder realizar este último paso de procesar las variables necesitaremos realizar un programa externo en algun lenguaje de programación como PHP, ASP, PERL, C++ o Visual Basic. A este programa externo se le suele llamar CGI (Common Gateway Interface). La creación de este tipo de programas sería tema de otro manual diferente, por lo que aquí veremos como se pueden enviar las variables a nuestra dirección de correo electrónico.


La declaración del formulario se pone entre las etiquetas <form></form> . En el interior de la declaración se indican los elementos (variables) de entrada. La etiqueta <form> tiene los parámetros action y method .


action="programa" Indica el programa que va a "tratar" a las variables que se envíen con el formulario. En nuestro caso enviaremos las variables por correo electrónico, con lo que el "programa" será "mailto: direccion_de_correo" .


method="post / get" Indica el método según el que se transferiran las variables. POST produce la modificación del documento de destino (como en el caso de enviar por correo las variables). GET no produce cambios en el documento destino (como en el caso de una consulta a una base de datos, p.ej. una página de búsqueda en Internet).


Campos de Entrada


Para la introducción de las variables se utiliza la etiqueta <input> . Esta etiqueta tiene el parámetro type que indica el tipo de variable a introducir y name que indica el nombre que se le dará al campo. Cada tipo de variable tiene sus propios parámetros.


type="text"


name="campo" Indica que el campo a introducir será un texto. Sus parámetros son:


maxlenght="numero" Numero máximo de caracteres a introducir en el campo.


size="numero" Tamaño en caracteres que se mostrará en pantalla.


value="texto" Valor inicial del campo. Normalmente sera " ", o sea, vacio.


type="password"

name="campo"


Indica que el campo sera una palabra de paso. Mostrará asteriscos (*) en lugar de las letras escritas. Sus parámetros opcionales son los mismos que para text.


type="checkbox"

name="campo"


El campo se elegirá marcando una casilla. Se permite marcar varias casillas. Los valores de las casillas serán indicados por:


value="valor"

checked
La casilla aparecera marcada por defecto.


type="radio"

name="campo"


El campo se elegirá marcando una casilla. Sólo permite marcar una sola de las casillas. Los valores de las casillas seran indicados por:


value="valor"


type="image"

name="campo"


El campo contendrá el valor de las coordenadas del punto de la imagen pinchado. Debe indicarse la imagen con el parámetro:
src="fichero de imagen".


type="hidden"

name="campo"


El usuario no puede modificar su valor, ya que el campo no es visible se manda siempre con el valor indicado por el parámetro :


value="valor"


type="submit"


Representa un botón. Al pulsar este botón la información de todos los campos se envía al programa indicado en <form> .Tiene el parámetro value="texto" que indica el texto que aparecerá en el boton.


type="reset" Representa un botón. Al pulsar este botón se borra el contenido de todos los campos. El parámetro value = "texto" indica el texto que aparecerá en el botón.


Campos de Seleccion


Este tipo de campos despliegan una lista de opciones, entre las que debemos escoger una o varias. Se utiliza para ellos la etiqueta <select> </select> . Sus parámetros son:


name="campo Nombre del campo."


size="num" Número de opciones visibles. Si se indica 1 se presenta como un menú desplegable, se se indica mas de uno se presenta como una lista con barra de desplazamiento.


multiple Permite selecionar mas de un valor para el campo.


Las diferentes opciones de la lista se indican con la etiqueta <option> . Esta etiqueta puede incluir el parametro selected para indicar cual es la opcion por defecto. En caso de que no se especifique, se tomara por defecto la primera opción de la lista.


Áreas de texto.


Representa un campo de texto de múltiples lineas. Normalmente se utiliza para que se incluyan en el comentarios. La etiqueta usada es <textarea> </textarea> , y sus parámetros :



name="campo Nombre del campo."


cols="num. Número de columnas de texto visibles."


rows="num. Número de filas de texto visibles. "


wrap="virtual / physical" Justifica el texto automáticamente en el interior de la caja. La opción physical envía las líneas de texto separadas en líneas físicas. La opción virtual envia todo el texto seguido.


Veamos a continuación un ejemplo de formulario utilizando todas las formas de introducción de datos.


<form action="mailto:usuario@email.dom" method="post">

Tu Nombre: <input type="text" name="nombre" size="30">

Tu Clave: <input type="password" name="clave" size="8">

<p>

Archivos a Enviar:

<input type="checkbox" name="archivo" value="Manual">Manual de Html

<input type="checkbox" name="archivo" value="Mapthis">Programa Mapthis

<input type="checkbox" name="archivo" value="Help">Archivo de Ayuda

<p>

Tu Edad :

<input type="radio" name="edad" value="-20"> Menos de 20 años

<input type="radio" name="edad" value="20-40"> Entre 20 y 40 años

<input type="radio" name="edad" value="+40"> Mas de 40 años

<p>

<input type="hidden" name="lugar" value="página personal">

Como encontraste mi página :

<select name="donde">

<option> De casualidad</option>

<option> Por el buscador Ole</option>

<option> Por el buscador Yahoo</option>

<option> Me la comentaron</option>

</select>

<p>

Tus Comentarios:

<br>

<textarea name="comentario" rows="5" cols="40" wrap="virtual"></textarea>

<p>

<input type="submit" value="Enviar">

<input type="reset" value="Borrar">

</form>
Ahora veamos el efecto producido en la página Web :


Tu Nombre: Tu Clave:

Archivos a Enviar: Manual de Html Programa Mapthis Archivo de Ayuda

Tu Edad : Menos de 20 años Entre 20 y 40 años Mas de 40 años

Como encontraste mi página :

Tus Comentarios:

Si rellenas este FORM y pulsas sobre el botón Enviar , (estando conectado a Internet), se generará un mensaje de correo a la direccion de correo usuario@email.dom. Si pulsas el boton Borrar se borraran los datos que hayas introducido en el Formulario.

El texto que se recibiría por correo electrónico sería parecido a este:

nombre=Pedro+Perez &clave=12345678 &archivo=Manual &archivo=Mapthis &edad=20-40 &lugar=pagina+personal &donde=Por+el+buscador+Ole &comentario%94= Espero+que+me+mandes+los%0D%0Aficheros+antes+del+martes%0D%0A%0D%0AS aludos.%0D%0A

Podemos observar que en el correo se separan las variables con el símbolo & , los espacios se sustituyen por el signo + y se representan los codigos de retorno de carro y avance de linea del campo de texto con los caracteres %0D y %0A respectivamente.


Si en vez de enviar estas variables por correo electrónico, fuesen enviadas a un programa (CGI), este programa podría tratarlas y dar como respuesta una nueva página Web.



Para enviar un formulario por e-mail sin importar el navegador utilizado se ha de utilizar un programa externo que realize este proceso.

Truco !!!

Se puede utilizar un Formulario como "lanzador" de links, es decir, por medio de una lista desplegable permitir al usuario escoger un Link y acceder a el. Para ello se utiliza el parametro "OnClick". Ejemplo :




<form>

<select name="list">

<option selected value="http://www.manualdehtml.com" > Manual de HTML

<option value="http://www.microsoft.com"> Microsoft

<option value="http://www.ibm.com" > Ibm

<option value="http://www.novell.com" > Novell

<option value="http://www.hp.com" > Hewlett Packard

<option value="http://www.fujitsu.com" > Fujitsu

<option value="http://www.3com.com" > 3Com

</select>

<input type="button" value="Ir a…"

onClick= "top.location.href=this.form.list.options[this.form.list.selectedIndex].value">

</form>
Este seria el efecto producido :

 

Para enviar un formulario por e-mail sin importar el navegador utilizado se ha de utilizar un programa externo que realize este proceso. Para enviar un formulario por e-mail sin importar el navegador utilizado se ha de utilizar un programa externo que realize este proceso. Para enviar un formulario por e-mail sin importar el navegador utilizado se ha de utilizar un programa externo que realize este proceso. Para enviar un formulario por e-mail sin importar el navegador utilizado se ha de utilizar un programa externo que realize este proceso. Para enviar un formulario por e-mail sin importar el navegador utilizado se ha de utilizar un programa externo que realize este proceso.

Practicar con esta lección

Capítulo anterior:

Mapas

Capítulo siguiente:

Applet

Leave A Comment?