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 estos 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 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 directivas <FORM></FORM>. En el interior de la declaración se indican los elementos (variables) de entrada. La directiva <FORM> tiene los parámetros action y method.
Campos de Entrada
Para la introducción de las variables se utiliza la directiva <INPUT>. Esta directiva 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.
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 directiva <SELECT> </SELECT> . Sus parámetros son :
Las diferentes opciones de la lista se indican con la directiva <OPTION>. Esta directiva 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.
Areas de texto.
Representa un campo de texto de múltiples lineas. Normalmente se utiliza para que se incluyan en el comentarios. La directiva usada es <TEXTAREA> </TEXTAREA>, y sus parámetros :
Veamos a continuación un ejemplo de formulario utilizando todas las formas de introduccion de datos.
<FORM action = "mailto: luisfd@jet.es" 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 = "pagina personal" > Como encontraste mi página : <SELECT name = donde > <OPTION>De casualidad <OPTION>Por el buscador Ole <OPTION>Por el buscador Yahoo <OPTION>Me la comentaron </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 :
Si rellenas este FORM y pulsas sobre el botón Enviar, (estando conectado a Internet),
se generará un mensaje de correo a mi direccion de correo luisfd@jet.es. 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.
<FORM> <SELECT name = "list" > <OPTION SELECTED value="http://web.jet.es/luisfd">Mi Pagina Web <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 :