martes, 17 de abril de 2012

Formularios



El formulario es una interesante herramienta de toda página web. Permite recabar información ordenada de los visitantes, y almacenar esa información de alguna manera.
Nosotros vamos a trabajar un formulario cuyos datos sean enviados a una dirección de correo electrónico normal y como datos no encriptados.
La otra forma, más compleja, es ser envíado a nuestro servidor a través de un programa determinado que deberá estar instalado en ese servidor, para almacenar la información y procesarla. Como esto no está al alcance del usuario corriente, vamos a centrarnos en el primer tipo de formularios.
Los formularios están dentro de las etiquetas <form> y </form>. Los atributos de la etiqueta de apertura del formulario indicarán la forma de enviar la información:
  • action="mailto:direcciondecorreo". El formulario será enviado a la dirección de correo que pongamos.
  • method="post". Los datos se enviarán inmediatamente por correo electrónico.
  • enctype="text/plain". Las respuestas se enviarán sin codificación.
12.1.- Campo de texto de una línea.
<html>
<head>
<title>
Formulario 1
</title>
</head>
<body>
<form action="mailto:login@servidor.es"
method="post" enctype="text/plain">
<table align="center">
<tr>
<td width="50%" align="right">
Escribe tu nombre:
</td>
<td width="50%" alignn="left">
<input type="text" name="Nombre" size="10"
maxlength="15">
</td>
</tr>
</table>
</form>
</body>
</html>

Guardamos el formulario con el nombre form1.html
Hemos colocado, dentro del formulario, una tabla con dos columnas para mejorar la presentación de los datos: En la columna izquierda, y alineado a la derecha, colocamos el texto de lo que se pide (en este caso el nombre) y, en la columna de la izquierda y, alineado a la derecha, el campo de texto:
  • input type (entrada de tipo) texto.
  • name es lo que aparecerá en el mensaje de correo delante de lo que introduzca el ususario.
  • size nos indica el tamaño de la caja de texto de una línea. En este caso 10 caracteres.
  • maxlenght indica la cantidad máxima de caracteres que puede introducir el usuario.
De poco sirve el formulario si no tenemos la opción de enviarlo. Así que vamos a proceder a la introducción del código necesario. Normalmente, además del botón de enviar se suele poner otro para borrar los datos introducidos.
<html>
<head>
<title>
Formulario 2
</title>
</head>
<body>
<form action="mailto:login@servidor.es"
method="post" enctype="text/plain">
<table align="center">
<tr>
<td width="50%" align="right">
Escribe tu nombre:
</td>
<td width="50%" alignn="left">
<input type="text" name="Nombre" size="10"
maxlength="15">
</td>
</tr>
<tr>
<td width="50%" align="right">
<input type="submit" value="Enviar">
</td>
<td width="50%" align="left">
<input type="reset" value="Borrar">
</td>
</tr>
</table>
</form>
</body>
</html>

Guardamos el archivo con el nombre form2.html
Hemos introducido otra fila en la tabla con:
  • input type submit (enviar).
  • value será lo que aparezca escrito en el botón.
  • input type reset en inglés borrar.
  • value será lo que aparezca escrito en el botón.
Cuando, una vez escrito el dato, el usuario pulse el botón de enviar, aparecerá el siguiente mensaje:
Mensaje alerta seguridad
Hay que aceptar para que el formulario sea enviado.
Supongamos que un tal Federico ha rellenado el formulario. En el correo del destinatario aparecerá este mensaje:
Formulario recibido
Observa como coincide el Nombre con lo que diseñamos en el formulario en el campo name
17.2.- Campo de texto de varias líneas.
Se consigue con la etiqueta <textarea> y su correspondiente de cierre.
Repetimos el formulario anterior eliminando la opción <text> para simplificar la lectura del código. Pero, evidentemente, se podrían juntar todas las opciones en un único formulario.
<html>
<head>
<title>
Formulario 3
</title>
</head>
<body>
<form action="mailto:login@servidor.es"
method="post" enctype="text/plain">
<table align="center">
<tr>
<td width="50%" align="right">
Escribe tus comentarios:
</td>
<td width="50%" alignn="left">
<textarea name="Comentarios" cols="30" rows="5">
</textarea>
</td>
</tr>
<tr>
<td width="50%" align="right">
<input type="submit" value="Enviar">
</td>
<td width="50%" align="left">
<input type="reset" value="Borrar">
</td>
</tr>
</table>
</form>
</body>
</html>


12.3.- Menú de opción.
Permite elegir entre varias opciones, una única.
Se introduce de forma similar al cuadro de texto de una línea <input> pero, ahora el type es radio el name es el nombre que le damos a ese grupo de opción, el value lo que aparecerá en el mensaje de correo delante de la opción elegida. Hay que repetir la etiqueta tantas veces como opciones de elegir haya.
Si queremos introducir una segunda posibilidad de elección deberemos repetir el proceso pero cambiando el name del grupo de opciones:
<html>
<head>
<title>
Formulario 4
</title>
</head>
<body>
<form action="mailto:login@servidor.es"
method="post" enctype="text/plain">
<table border align="center">
<tr>
<td width="50%" align="right">
Elige el grupo de edad en el que te encuentras:
</td>
<td width="50%" alignn="left">
<input type="radio" name="Edad" 
              value="Menor de 18">
Tengo menos de 18 años.<br>
<input type="radio" name="Edad" 
              value="De 18 a 50">
Tengo entre 19 y 50 años.<br>
<input type="radio" name="Edad" 
              value="Más de 51">
Tengo más de 51 años.
</td>
</tr>
<tr>
<td width="50%" align="right">
Valora este curso de HTML:
</td>
<td width="50%" alignn="left">
<input type="radio" name="Valoracion" 
              value="Muy bueno">
Me parece muy bueno.<BR>
<input type="radio" name="Valoracion" 
              value="Regular">
Bueno... No está del todo mal.<BR>
<input type="radio" name="Valoracion" 
              value="Malo">
Me parece horroroso
</td>
</tr>
<tr>
<td width="50%" align="right">
<input type="submit" value="Enviar">
</td>
<td width="50%" align="left">
<input type="reset" value="Borrar">
</td>
</tr>
</table>
</form>
</body>
</html>
Observa como las opciones de cada grupo son excluyentes: Sólo podemos elegir una.
Esta es una imagen del resultado del envío de una respuesta:
Formulario recibido
12.4- Menú de opción múltiple. Casillas de verificación.
Es parecido al anterior cambiando el atributo radio por checkbox. Los demás atributos son similares.
<html>
<head>
<title>
Formulario 5
</title>
</head>
<body>
<form action="mailto:login@servidor.es"
method="post" enctype="text/plain">
<table border align="center">
<tr>
<td width="50%" align="right">
Elige tus aficiones:
</td>
<td width="50%" alignn="left">
<input type="checkbox" name="Gustos" 
              value="Leer">
Me gusta leer.<BR>
<input type="checkbox" name="Gustos" 
              value="Cine">
Ir al cine.<BR>
<input type="checkbox" name="Gustos" 
              value="Gimnasio">
Machacarme en el gimnasio.<BR>
<input type="checkbox" name="Gustos" 
              value="Botellón">
Hacer botellón con los amigos.<BR>
<input type="checkbox" name="Gustos" 
              value="Caminar">
Salir al campo a caminar.
</td>
</tr>
<tr>
<td width="50%" align="right">
<input type="submit" value="Enviar">
</td>
<td width="50%" align="left">
<input type="reset" value="Borrar">
</td>
</tr>
</table>
</form>
</body>
</html>

Este es el resultado de un envío:
Formulario recibido

No hay comentarios:

Publicar un comentario