Formularios HTML - Universidad Nacional de Quilmes

Anuncio
Formularios HTML
Elementos de Programación y Lógica
Universidad Nacional de Quilmes
Formularios
HTML es un lenguaje de marcado cuyo propósito principal consiste en estructurar
los contenidos de los documentos y páginas web. Sin embargo, HTML también
incluye elementos para crear aplicaciones web. El estándar HTML/XHTML
permite crear formularios para que los usuarios interactúen con las aplicaciones
web.
El formulario no es más que una página escrita en HTML como cualquier otra. Lo
que la hace diferente es que permite capturar datos de varias maneras:
directamente desde el teclado, escogiendo un valor de una lista desplegable o
seleccionando una opción desde botones fijos o de todas ellas combinadas.
Formularios ¿Cómo funcionan?
Los datos son enviados a un servidor http (web) que procesará y devolverá una respuesta (o
no). Pueden utilizarse también para enviar su contenido a una dirección de correo
electrónico, o que simplemente abran otra página.
Si el formulario se diseña para abrir una página o para ser enviado por e-mail, todo se reduce
a escribir HTML, pero la cosa se complica cuando se trata de transacciones de datos que
hay que guardar en un servidor (comercio electrónico). En este caso, en el servidor tiene que
haber un programa especial, creado específicamente para ese formulario, que reciba los
datos y sepa qué hacer con ellos, procesarlos y confeccionar la respuesta que remitirá al
navegador. A esa respuesta se le denomina documento virtual ya que esa página no está
escrita en ninguna parte; es generada, enviada y destruida.
Formularios ¿Cómo funcionan?
A los programas que hacen de puente entre el formulario y el servidor, se les llama
programas CGI (Common Gateway Interface) y no hay que confundirlos con las
páginas dinámicas escritas en ASP o PHP, aunque se parecen mucho.
Los programas CGI pueden estar escritos en cualquier lenguaje de programación
que sea soportado por el sistema operativo del servidor, y pueden estar diseñados
para cualquier función: desde una simple captura de datos que serán guardados
en un fichero, hasta la más sofisticada consulta a una base de datos.
Formularios ¿Cómo funcionan?
Definición
Los formularios más sencillos se pueden crear utilizando solamente dos
etiquetas: <form> y <input>.
Definición
El código HTML necesario para definir el formulario anterior se muestra a
continuación:
<html>
<head><title>Ejemplo de formulario sencillo</title></head>
<body>
<h3>Formulario muy sencillo</h3>
<form action="http://www.librosweb.es/maneja_formulario.php" method="post">
Escribe tu nombre:
<input type="text" name="nombre" value="" />
<br/>
<input type="submit" value="Enviar" />
</form>
</body>
</html>
<form> Atributos
●
action = "url" - Indica la URL que se encarga de procesar los datos del
formulario
●
method = "POST o GET" - Método HTTP empleado al enviar el formulario
●
enctype = "application/x-www-form-urlencoded o multipart/form-data" - Tipo
de codificación empleada al enviar el formulario al servidor (sólo se indica de
forma explícita en los formularios que permiten adjuntar archivos)
<form> Atributos
●
La mayoría de formularios utilizan sólo los atributos action y method. El
atributo action indica la URL de la aplicación del servidor que se encarga de
procesar los datos introducidos por los usuarios. Esta aplicación también se
encarga de generar la respuesta que muestra el navegador.
●
El atributo method establece la forma en la que se envian los datos del
formulario al servidor. Este atributo hace referencia al método HTTP, por lo
que no es algo propio de HTML. Los dos valores que se utilizan en los
formularios son GET y POST. De esta forma, casi todos los formularios
incluyen el atributo method="get" o el atributo method="post".
Elementos
Elementos de formulario como botones y cuadros de texto también se
denominan "campos de formulario" y "controles de formulario". La mayoría de
controles se crean con la etiqueta <input>
Dicha etiqueta posee una serie de propiedades. Entre las más importantes se
encuentran:
type = "text | password | checkbox | radio | submit | reset | file | hidden | image |
button" - Indica el tipo de control que se incluye en el formulario
name = "texto" - Asigna un nombre al control (es imprescindible para que el
servidor pueda procesar el formulario)
value = "texto" - Valor inicial del control
Componentes
Cuadro de Texto: Se trata del elemento más utilizado en los formularios:
Nombre <input type="text" name="nombre" value="" />
El atributo name es el más importante en los campos del formulario. De hecho, si un campo no incluye el
atributo name, sus datos no se envían al servidor. El valor que se indica en el atributo name es el nombre
que utiliza la aplicación del servidor para obtener el valor de este campo de formulario.Cuando el usuario
pulsa el botón de envío del formulario, el navegador envía los datos a una aplicación del servidor para que
procese la información y genere una respuesta adecuada. En el servidor, la aplicación que procesa los
datos debe obtener en primer lugar toda la información introducida por el usuario. Para ello, utiliza el valor
del atributo name para obtener los datos de cada control del formulario.
Componentes
Los checkbox o "casillas de verificación" son controles de formulario que permiten al usuario seleccionar
y deseleccionar opciones individualmente. Aunque en ocasiones se muestran varios checkbox juntos,
cada uno de ellos es completamente independiente del resto. Por este motivo, se utilizan cuando el
usuario puede activar y desactivar varias opciones relacionadas pero no excluyentes.
Puestos de trabajo buscados <br/>
<input name="puesto_directivo" type="checkbox" value="direccion"/> Dirección
<input name="puesto_tecnico" type="checkbox" value="tecnico"/> Técnico
<input name="puesto_empleado" type="checkbox" value="empleado"/> Empleado
Componentes
Los controles de tipo radiobutton son similares a los controles de tipo checkbox, pero presentan una
diferencia muy importante: son mutuamente excluyentes. Los radiobutton se utilizan cuando el usuario
solamente puede escoger una opción entre las distintas opciones relacionadas que se le presentan. Cada
vez que se selecciona una opción, automáticamente se deselecciona la otra opción que estaba
seleccionaba.
Sexo <br/>
<input type="radio" name="sexo" value="hombre" checked="checked" /> Hombre
<input type="radio" name="sexo" value="mujer" /> Mujer
Componentes
El elemento select es un cuadro de selección. Este elemento HTML nos permite seleccionar una opción
entre un conjunto.
<select id="so" name="so">
<option value="" selected="selected">- selecciona -</option>
<option value="windows">Windows</option>
<option value="mac">Mac</option>
<option value="linux">Linux</option>
<option value="otro">Otro</option>
</select>
Ejercicio
A escribir el código para
crear el siguiente
formulario
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Información sobre el producto</title>
</head> <body>
<h3>Información sobre el producto</h3>
<form action="/php/insertar_subasta.php" method="post" enctype="multipart/form-data">
<legend>Datos básicos</legend>
<label for="nombre">Nombre</label> <br/>
<input type="text" name="nombre" id="nombre" size="50" maxlength="250" /> <br/><br/>
<label for="descripcion">Descripción</label> <br/>
<textarea name="descripcion" id="descripcion" cols="40" rows="5"></textarea> <br/><br/>
Foto <input type="file" name="foto" /> <br/><br/>
<input name="contador" type="checkbox" value="si" /> Añadir contador de visitas
<legend>Datos económicos</legend>
<label for="precio">Precio</label> <input type="text" size="5" id="precio" name="precio" /> €
<label for="impuestos">Impuestos</label>
<select id="impuestos" name="impuestos">
<option value="4">4%</option>
<option value="7">7%</option>
<option value="16">16%</option>
<option value="25">25%</option> </select>
<label>Promoción</label> <br/>
<input type="radio" name="promocion" value="ninguno" checked="checked" /> Ninguno <br/>
<input type="radio" name="promocion" value="portes" /> Transporte gratuito <br/>
<input type="radio" name="promocion" value="descuento" /> Descuento 5%
</form> </body> </html>
Guía de ejercicios prácticos
Pueden resolver desde el ejercicio 15 hasta el 19 de la guía N° 1 inclusive
Descargar