Ads 468x60px

Perfil

miércoles, 27 de febrero de 2013

Curso de HTML para principiantes, parte V


legamos a la Ăşltima entrega de HTML para principiantes. Ya hemos cubierto todos los conceptos básicos, y en nuestra entrega anterior avanzamos un poco más y revelamos los detalles de las tablas, además de hablar sobre la forma correcta de subir archivos de imágenes a la web  y la creaciĂłn de listas. En el dĂ­a de hoy, abarcaremos uno de los temas más complicados pero tambiĂ©n Ăştiles: los formularios.
Hace algunas semanas tambiĂ©n les compartimos una lista sobre cĂłmo hacer formularios online sin necesidad de saber de cĂłdigo. Estas opciones tambiĂ©n son válidas, pero en ese caso, les recomendamos dejar de leer aquĂ­ mismo.
Dentro de HTML tenemos la posibilidad de crear una especie de aplicaciĂłn web muy básica con cĂłdigo, estos serĂ­an los formularios. Generalmente se los usa para eso: formularios de contacto, de consulta, de sugerencias, etc. Su uso está muy abarcado porque ha ido reemplazando al atributo mailto del que les hablamos en el apartado sobre enlaces, dado que varios bots usaban estas direcciones de correo detectándolas en el cĂłdigo para enviar spam.
Tenemos dos tipos de formularios: los formularios simples y los formularios avanzados. Comenzaremos por los simples.

Formularios simples

Se crean usando nada más que dos etiquetas, <form> e <input>. <form>, por supuesto, será la etiqueta que le indique al navegador que está por comenzar un formulario. Y es imperativo que la cerremos cuando termine. Dentro de <form> encerraremos todos los campos que queramos que estén incluidos en el formulario. Con <input>, como veremos a continuación, vamos a poder definir dichos elementos, y son bastantes.
Antes de pasar a estos elementos, deberĂ­amos repasar los atributos que se le pueden sumar al formulario:
  • action: con este atributo vamos a indicar la URL donde queremos que se procesen los formularios. Generalmente tendrá la extensiĂłn .php.
  • method: aquĂ­ tendremos dos opciones de atributo, post o get. Dependerá del tipo de mĂ©todo que se use para enviar el formulario. Generalmente, para los formularios de contacto, se usa post, porque permite el envĂ­o de mucha más informaciĂłn. Además, los datos enviados por get luego se pueden ver en la barra del navegador, como por ejemplo sucede con Google que emplea este mĂ©todo.
  • accept: con este atributo definimos cuáles son los formatos de archivos aceptados por el formulario.
Existen otros atributos, pero estos son los más populares. De hecho, los más usados son action y method.

Elementos de un formulario

Ahora pasaremos a repasar los diferentes elementos que pueden estar incluidos dentro de la etiqueta <input>. Esta es la etiqueta fundamental para crear elementos, con algunas excepciones, asĂ­ que es importante no olvidarlo. Primero comenzaremos detallando los atributos que puede tener <input> para luego hablar bien de los elementos.
Estos atributos son:
  • type: aquĂ­ vamos a ingresar quĂ© tipo de elemento queremos. Es el atributo más importante. Con text, passwork, checkbox, submit, reset, y más, podemos armar un formulario simple de contacto.
  • name: este atributo le asigna un nombre al elemento, y tambiĂ©n es fundamental.
  • value: cuando ingresamos este atributo, es para poner un valor inicial dentro del elemento. Por ejemplo, si tenemos una lista del 1 al 10 y queremos que comience con uno, el atributo deberá decir value=”1”.
  • size: aquĂ­ delimitaremos el tamaño de caracteres que debe tener el campo, en el caso de texto y contraseña, y el tamaño de pĂ­xeles que debe tener el cuadro en el resto.
  • maxlenght: la cantidad máxima de caracteres permitida en un campo.
  • checked: cuando estamos usando checkboxes, este atributo permite predeterminar cuál estará seleccionada de antemano.
  • disabled: nos permite deshabilitar un elemento del formulario.
  • readonly: permite que creemos un elemento que sea sĂłlo lectura.
  • src: nos permite crear botones con imágenes, se usa para el botĂłn del formulario y tiene que estar acompañado por una URL.
  • alt: como sucede con este atributo, podemos agregar un texto descriptivo.
Ahora que ya conocemos los atributos, podemos avanzar con los tipos de elemento de formulario que definimos en el código a través del atributo type.
El primero de estos tipos es el campo de texto, el elemento más usado en los formularios. Nos permite crear un cuadro de texto vacĂ­o para que, por ejemplo, el usuario pueda insertar su nombre de usuario. En el cĂłdigo, veremos algo asĂ­ –digo algo asĂ­ porque falta agregar párrafos y texto; este cĂłdigo es simplemente para ver cĂłmo funcionan las etiquetas y cĂłmo deben ser ordenadas, si lo llevamos a un navegador no funcionará y se verá horrible:
<html>
<head><title>Ejemplo de formulario</title></head>
<body>
<form>
<input type=”text” name=”nombre” />
</form>
</body>
</html>
AquĂ­ vemos cĂłmo quedarĂ­a el resultado, pasado al navegador:
Dentro del mismo sentido, casi sin variaciones excepto con el atributo, tenemos a las contraseñas. Estas se deben crear claramente usando el atributo password, y el cĂłdigo no se diferencia demasiado del de texto. AquĂ­ vemos el ejemplo anterior, con el agregado de una contraseña:
<html>
<head><title>Ejemplo de formulario</title></head>
<body>
<form>
<p>Nombre
<input type=”text” name=”nombre” /></p>
<input type=”passwork” name=”Contraseña” />
</form>
</body>
</html>
Ahora avanzamos con las checkboxes, otro clásico de internet, que en realidad no son para nada difĂ­ciles de crear. Como pueden intuir, tenemos que usar el atributo checkbox, y luego ir enumerando cada uno de los elementos que queremos que tenga. Es algo engorroso porque hay que usar la etiqueta cada vez que queremos agregar una opciĂłn. Para que no sean separados con demasiado espacio, tenemos que añadir además la etiqueta <br />. Siguiendo con nuestro ejemplo:
<html>
<head><title>Ejemplo de formulario</title></head>
<body>
<form>
<input type=”text” name=”Nombre” />
<input type=”passwork” name=”Contraseña” />
<input type=”checkbox” name=”Ejemplo1” value=”ejemplo1” />Ejemplo 1
<input type=”checkbox” name=”Ejemplo2” value=”ejemplo2” />Ejemplo 2
<input type=”checkbox” name=”Ejemplo3” value=”ejemplo3” />Ejemplo 3
</form>
</body>
</html>
Similares a las checkboxes, tenemos a los radiobuttons, que a diferencia de los anteriores son mutuamente excluyentes. Esto quiere decir que no podemos elegir mĂşltiples opciones, sino Ăşnicamente una sola. El tipo de atributo que usamos es radio, y el cĂłdigo nos estarĂ­a quedando de esta manera:
<html>
<head><title>Ejemplo de formulario</title></head>
<body>
<form>
<input type=”text” name=”Nombre” />
<input type=”passwork” name=”Contraseña” />
<input type=”checkbox” name=”Ejemplo1” value=”ejemplo1” />Ejemplo 1
<input type=”checkbox” name=”Ejemplo2” value=”ejemplo2” />Ejemplo 2
<input type=”checkbox” name=”Ejemplo3” value=”ejemplo3” />Ejemplo 3
<input type=”radio” name=”sexo” value=”hombre” checked=”checked” />Hombre
<input type=”radio” name=”sexo” value=”mujer” />Mujer
</form>
</body>
</html>
Ahora podemos avanzar a los botones. Tenemos dos, submit y reset. Uno de ellos nos permitirá enviar la informaciĂłn del formulario, y el otro nos permitirá borrar todos los valores para volver a una instancia original. La diferencia reside en cĂłmo completemos el atributo type. Si es con submit, enviaremos, y si es con reset, borraremos. Antiguamente se usaban los dos botones pero hoy en dĂ­a se ha perfeccionado y casi nadie usa reset, sobre todo porque los formularios no se crean Ăşnicamente con HTML sino que están apoyados por PHP y JavaScript. Igualmente, aquĂ­ está el ejemplo:
<html>
<head><title>Ejemplo de formulario</title></head>
<body>
<form>
<input type=”text” name=”Nombre” />
<input type=”passwork” name=”Contraseña” />
<input type=”checkbox” name=”Ejemplo1” value=”ejemplo1” />Ejemplo 1
<input type=”checkbox” name=”Ejemplo2” value=”ejemplo2” />Ejemplo 2
<input type=”checkbox” name=”Ejemplo3” value=”ejemplo3” />Ejemplo 3
<input type=”radio” name=”sexo” value=”hombre” checked=”checked” />Hombre
<input type=”radio” name=”sexo” value=”mujer” checked=”checked” />Mujer
<input type=”submit” name=”enviar” value=”Enviar” />
</form>
</body>
</html>
TambiĂ©n se pueden agregar otros botones usando el tipo de atributo button, pero este tipo de botones Ăşnicamente son Ăştiles si los combinamos con JavaScript. Con este cĂłdigo podemos programar para que el botĂłn haga lo que necesitemos que haga.

Formularios avanzados

Ahora pasaremos a los formularios un poco más avanzados. Para poder avanzar necesitamos conocer más etiquetas, una de las más importantes es <fieldset>. Con esta etiqueta podemos agrupar partes del formulario y sumar la etiqueta <legend> para darles un título. Dentro del abanico de posibilidades también encontramos los menús desplegables y las cajas de texto.
Para crear un menĂş, tenemos que usar no la etiqueta <input> sino la etiqueta <select> y para crear un cuadro de texto, no nos confundamos con <text>, ahora tenemos que usar <textarea>. Dentro de nuestro cĂłdigo anterior, estas nuevas adiciones se verĂ­an asĂ­:
<html>
<head><title>Ejemplo de formulario</title></head>
<body>
<form>
<input type=”text” name=”Nombre” />
<input type=”passwork” name=”Contraseña” />
<input type=”checkbox” name=”Ejemplo1” value=”ejemplo1” />Ejemplo 1 <br />
<input type=”checkbox” name=”Ejemplo2” value=”ejemplo2” />Ejemplo 2 <br />
<input type=”checkbox” name=”Ejemplo3” value=”ejemplo3” />Ejemplo 3 <br />
<input type=”radio” name=”sexo” value=”hombre” checked=”checked” />Hombre
<input type=”radio” name=”sexo” value=”mujer” checked=”checked” />Mujer
<input type=”submit” name=”enviar” value=”Enviar” />
<select name=”pais>
<option value=”España”>España</option>
<option value=”Argentina”>Argentina</option>
<option value=”Portugal”>Portugal</option>
<option value=”Chile”>Chile</option>
<textarea name=”comentarios” value=”Deje sus comentarios” cols=”10” rows=”5”></textarea></form>
</body>
</html>
Con esto ya podemos crear un formulario completĂ­simo.