You are here
Guia para formularios en HTML Sin categoría 

Guia para formularios en HTML

Guia para formularios en HTML

Un formulario permite que el visitante al sitio cargue datos y sean enviados al servidor. Es el medio ideal para registrar comentarios del visitante sobre el sitio, solicitar productos, sacar turnos etc.

De todos modos veremos que el lenguaje HTML solo tiene el objetivo de crear el formulario. El HTML no tiene la responsabilidad de registrar los datos en el servidor, esta actividad está delegada a un lenguaje que se ejecute en el servidor (PHP, ASP, ASP.Net, JSP etc.)

Veamos la sintaxis básica para crear un formulario donde ingresemos nuestro nombre. Para crear un formulario debemos utilizar el elemento form, que tiene marca de comienzo y fin. Dentro de la marca form veremos otros elementos para crear botones, editores de línea, cuadros de chequeo, radios de selección etc.

Confeccionaremos un formulario para el ingreso de nuestro nombre y un botón para el envío del dato ingresado al servidor:

<html>

<head>

<title>Prueba de formulario</title>

</head>

<body>

<form action=”/registrardatos.php” method=”post”>

Ingrese su nombre:

<input type=”text” name=”nombre” size=”20″>

<br>

<input type=”submit” value=”enviar”>

</form>

</body>

</html>
Veamos detenidamente la estructura de un formulario elemental, lo primero la apertura de la marca form donde debemos definir dos propiedades (action y method):

<form action=”/registrardatos.php” method=”post”>

 

La propiedad action se inicializa con el nombre de la página que procesará los datos en el servidor. Todo los formularios y los que usted implementará como ejercicios deben llamar a esta página: “/registrardatos.php” más adelante cuando conozca un lenguaje de servidor podrá almacenarlos en una base de datos, consultar otros datos, modificar datos existentes etc.

La segunda propiedad que debemos inicializar es method. Esta propiedad puede almacenar únicamente dos valores (post o get). Normalmente un formulario se envía mediante post (los datos se envían con el cuerpo del formulario) En caso de utilizar get los datos se envían en la cabecera de la petición de la página, utilizando el método get estamos limitados en la cantidad de datos a enviar, no asi con el método post.

Ahora veamos el cuadro de texto donde se ingresa el nombre:

Ingrese su nombre: <input type=”text” name=”nombre” size=”20″>

 

El mensaje “Ingrese su nombre:” es un texto fijo.

El elemento input permite definir un cuadro de texto (editor de línea) si asignamos a la propiedad type el valor “text”.

Todo cuadro de texto debe inicializar la propiedad name con un nombre para el cuadro de texto. Este es un dato fundamental para poder recuperar el dato ingresado en el servidor (por ejemplo mediante PHP)

Por último inicializamos la propiedad size con el valor 20, esto significa que el cuadro de texto se dimensiona para permitir mostrar 20 caracteres (no se limita la cantidad de caracteres a ingresar por parte del visitante sino la cantidad de caracteres que se pueden visualizar)

Seguidamente: <input type=”submit” value=”enviar”>

También mediante el elemento input definimos un botón para el envío de datos al servidor. Debemos inicializar la propiedad type con el valor submit, con esto ya tenemos un botón para el envío de datos. La propiedad value almacena la etiqueta que debe mostrar el botón. Finalmente cerramos el formulario: </form>

 

24.- Formulario – input type=”text”/ input type=”password”

En el concepto anterior vimos cómo implementar un formulario básico.

Veamos ahora con más detenimiento el elemento input. Este elemento hemos visto que nos permite definir cuadros de texto y botón para subir los datos al servidor. Ahora veremos que también podemos definir cuadros para el ingreso de una clave y botones para borrar el contenido de todos los controles del formulario.

Confeccionaremos un formulario que solicite el ingreso del nombre de un usuario y su clave:

<html>

<head>

<title>Prueba de formulario</title>

</head>

<body>

<form action=”/registrardatos.php” method=”post”>

Ingrese su nombre:

<input type=”text” name=”nombre” size=”20″>

<br>

Ingrese su clave:

<input type=”password” name=”clave” size=”12″>

<br>

<input type=”submit” value=”enviar”>

<input type=”reset” value=”borrar”>

</form>

</body>

</html>
Veamos la sintaxis nueva para definir un cuadro de texto para el ingreso de una clave:

<input type=”password” name=”clave” size=”12″>

 

Utilizamos el mismo elemento input pero inicializamos la propiedad type con el valor “password”, con esto logramos que cuando el visitante ingrese la clave se visualicen asteriscos en lugar de los caracteres que tipeamos.

Luego para definir un botón que permita borrar todos los datos ingresados hasta el momento lo hacemos mediante:

<input type=”reset” value=”borrar”>

 

Es decir inicializamos la propiedad type con el valor “reset”, con esto sabe el navegador que cuando dicho botón sea presionado debe borrar todos los controles de ingreso de datos de dicho formulario.

 

25.- Formulario – textarea

El elemento de tipo textarea nos permite el ingreso de varias líneas a diferencia del cuadro de texto (input/text). Es muy utilizado cuando queremos ingresar un comentario de una longitud de caracteres grande.

Confeccionemos un formulario para que un visitante pueda ingresar su nombre, su mail y un comentario del sitio, empleando para este último dato a ingresar un elemento de tipo textarea:

<html>

<head>

<title>Prueba de formulario</title>

</head>

<body>

<form action=”/registrardatos.php” method=”post”>

Ingrese su nombre:

<input type=”text” name=”nombre” size=”30″><br>

Ingrese su mail:

<input type=”text” name=”mail” size=”50″><br>

Comentarios:<br>

<textarea name=”comentarios” rows=”5″ cols=”60″></textarea>

<br>

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

</form>

</body>

</html>
La sintaxis para definir un área de texto para el ingreso de múltiples líneas es:

<textarea name=”comentarios” rows=”5″ cols=”60″></textarea>

 

Además de tener la propiedad name similar a los otros elementos relacionados a formularios tiene dos propiedades llamadas rows y cols. Estas dos propiedades indican la cantidad de filas y columnas que visualiza el área de texto.

 

 

26.- Formulario – input type=”checkbox”

El elemento checkbox es otro control que se puede insertar en un formulario. Un checkbox es una casilla de selección que puede tomar dos valores (seleccionado/no seleccionado)

Para ver su funcionamiento implementaremos un formulario que solicite el ingreso del nombre de una persona y 4 elementos de tipo checkbox para que seleccione los lenguajes de programación que conoce:

<html>

<head>

<title>Prueba de formulario</title>

</head>

<body>

<form action=”/registrardatos.php” method=”post”>

Ingrese su nombre:

<input type=”text” name=”nombre” size=”30″><br>

Seleccione los lenguajes que conoce:

<br>

<input type=”checkbox” name=”java”>Java<br>

<input type=”checkbox” name=”cmasmas”>C++<br>

<input type=”checkbox” name=”c”>C<br>

<input type=”checkbox” name=”csharp”>C#<br>

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

</form>

</body>

</html>
Veamos la sintaxis para definir controles de formulario de tipo checkbox:

<input type=”checkbox” name=”java”>Java<br>

 

Como vemos también utilizamos el elemento HTML input, donde inicializamos la propiedad type con el valor checkbox. Un control checkbox no muestra texto, solo una casilla que el operador puede tildar o destildar.

 

27.- Formulario – input type=”radio”

Cuando tenemos un conjunto de opciones pero solo una puede ser seleccionada debemos emplear controles visuales de tipo radio. Para definir dichos controles también utilizamos el elemento input inicializando la propiedad type con el valor “radio”

Veamos un ejemplo del empleo de este control gráfico, supongamos que necesitamos indicar el tipo de estudios que tenemos utilizando controles de tipo radio:

<html>

<head>

<title>Prueba de formulario</title>

</head>

<body>

<form action=”/registrardatos.php” method=”post”>

Ingrese su nombre:

<input type=”text” name=”nombre” size=”30″><br>

Seleccione el máximo nivel de estudios que tiene:

<br>

<input type=”radio” name=”estudios” value=”1″>Sin

estudios<br>

<input type=”radio” name=”estudios” value=”2″>Primario<br>

<input type=”radio” name=”estudios” value=”3″>Secundario<br>

<input type=”radio” name=”estudios” value=”4″>Universitario<br>

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

</form>

</body>

</html>
Veamos cómo se definen los controles de tipo radio:

<input type=”radio” name=”estudios” value=”1″>Sin estudios<br>
<input type=”radio” name=”estudios” value=”2″>Primario<br>
<input type=”radio” name=”estudios” value=”3″>Secundario<br>
<input type=”radio” name=”estudios” value=”4″>Universitario<br>

 

Como podemos observar todos tienen el mismo valor en la propiedad name, con esto se logra que cuando seleccionamos uno se deseleccione el actual.

 

28.- Formulario – select (cuadro de selección individual)

El elemento select es un cuadro de selección. Este elemento HTML nos permite seleccionar una opción entre un conjunto. Confeccionemos un formulario que solicite cargar el nombre de una persona y el país donde vive, este último elemento mediante un control de tipo select permitir seleccionar el país.

El archivo pagina1.html es:

<html>

<head>

<title>Prueba de formulario</title>

</head>

<body>

<form action=”/registrardatos.php” method=”post”>

Ingrese su nombre:

<input type=”text” name=”nombre” size=”30″><br>

Seleccione su pais:

<select name=”pais”>

<option value=”1″>Argentina</option>

<option value=”2″>España</option>

<option value=”3″>México</option>

</select>

<br>

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

</form>

</body>

</html>
Veamos la sintaxis para crear un cuadro de selección, primero abrimos la marca select la cual tiene definido la propiedad name: <select name=”pais”>

Luego sin cerrar el select definimos tantos elementos de tipo option como opciones tendrá el cuadro de selección:

<option value=”1″>Argentina</option>
<option value=”2″>España</option>
<option value=”3″>México</option>

 

El elemento option define el texto a mostrar y en la propiedad value indica el valor a enviar al servidor en caso de estar seleccionada dicha opción.

 

29.- Formulario – select (cuadro de selección múltiple)

Una variante del cuadro de selección que vimos en el concepto anterior es permitir que el visitante del sitio pueda seleccionar varias opciones. Supongamos que tenemos un cuadro de selección con una lista de colores y queremos que el visitante pueda elegir varios y no uno solo.

<html>

<head>

<title>Prueba de formulario</title>

</head>

<body>

<form action=”/registrardatos.php” method=”post”>

Seleccione uno o varios colores (Presione Ctrl para seleccionar varios colores)<br>

<select name=”colores[]” size=”4″ multiple>

<option value=”1″>Rojo</option>

<option value=”2″>Verde</option>

<option value=”3″>Azul</option>

</select>

<br>

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

</form>

</body>

</html>
Podemos observar la sintaxis para la definición de un cuadro de selección múltiple:

<select name=”colores[]” size=”4″ multiple>

 

Definimos una propiedad llamada multiple y no le asignamos valor, por otro lado al nombre definido en la propiedad name le agregamos al final los caracteres [] para que desde el servidor podamos identificar que el control retorna posiblemente muchos valores.

 

30.- Formulario – select (agrupamiento de opciones)

Hemos visto que podemos crear cuadros de selección individual o de selección múltiple. Ahora veamos que podemos agrupar las opciones que tiene el cuadro de selección, esto tiene sentido si el cuadro de selección tiene muchos ítems.

Se cuenta con un nuevo elemento llamado optgroup que agrupa un conjunto de elementos option. Veamos un ejemplo de agrupar una serie de opciones, agruparemos una serie de frutas y verduras:

Agrupar Opciones

Seleccione una fruta o verdura:

<select name=”articulo”>

<optgroup label=”Frutas”>

<option value=”1″>Naranjas</option>

<option value=”2″>Manzanas</option>

</optgroup>

<optgroup label=”Verduras”>

<option value=”3″>Lechuga</option>

<option value=”4″>Acelga</option>

</optgroup>

</select>
Como podemos observar para agrupar una serie de opciones dentro de un select debemos encerrarlas con el elemento optgroup:

<optgroup label=”Frutas”> <option value=”1″>Naranjas</option> <option value=”2″>Manzanas</option> <option value=”3>Sandia</option> <option value=”4″>Frutilla</option> <option value=”5″>Durazno</option> </optgroup>

 

La propiedad label del elemento optgroup aparece dentro del control select pero no se puede seleccionar, es un título.

 

31.- Formulario – button

El elemento button es un control visual que se puede utilizar para sustituir los controles:

<input type=”submit” value=”Enviar”>
<input type=”reset” value=”Borrar”>

 

La ventanja de este elemento es que podemos agregar imágenes dentro del botón. La sintaxis de este elemento es la siguiente:
<button type=”submit”> Texto a mostrar dentro del botón. </button>

 

Todo lo que está contenido entre las marcas de comienzo y fin del elemento button aparece dentro del botón, como por ejemplo una imagen, un párrafo, enfatizado de una palabra etc.

La propiedad type se puede inicializar con alguno de estos tres valores: “submit”, “reset” y “button”. Los dos primeros cumplen las funciones que ya conocemos es decir envío de los datos al servidor y borrado del contenido de los controles. En cuanto al tercer valor posible de la propiedad type significará que deberemos codificar una función en JavaScript para procesar el evento.

Para ver el funcionamiento confeccionaremos un formulario que solicite el ingreso del nombre de una persona y dos elementos button para subir el dato al servidor o borrar el dato cargado:

<html>

<head>

<title>Prueba de formulario</title>

</head>

<body>

<form action=”/htmlya/registrardatos.php” method=”post”>

Ingrese su nombre:

<input type=”text” name=”nombre” size=”20″>

<br>

<button type=”submit”>Enviar<img src=”/imagenes/enviar.gif”

alt=”envio”></button>

<button type=”reset”>Borrar<img src=”/imagenes/borrar.gif”

alt=”borrado”></button>

</form>

</body>

</html>
Perfectamente podemos definir un texto y cargar una imagen dentro del botón:

<button type=”submit”>Enviar<img src=”/imagenes/enviar.gif” alt=”envio”></button>

 

 

32.- Formulario – input type=”file”

El control de tipo file nos permite enviar un archivo al servidor. Nuevamente el HTML solo indica al navegador que debe enviar el archivo al servidor pero debe haber en el servidor un programa que lo almacene en una carpeta del servidor.

Veamos la sintaxis para disponer un control de tipo file:

<input type=”file” name=”archi”>

 

Otra cosa muy importante a tener en cuenta cuando hacemos upload de archivos al servidor es inicializar la propiedad enctype del elemento form:

<form method=”post” action=”/registrardatos.php” enctype=”multipart/form-data”>

 

Con esto indicamos al navegador que el formulario almacena uno o más archivos que deben ser enviados al servidor.

Confeccionemos una página que solicite el ingreso de un nombre y la foto de la persona:

<html>

<head>

<title>Prueba de formulario</title>

</head>

<body>

<form action=”/registrardatos.php” method=”post” enctype=”multipart/form-data”>

Ingrese su nombre:

<input type=”text” name=”nombre” size=”30″><br>

Seleccione la foto:

<input type=”file” name=”foto”>

<br>

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

</form>

</body>

</html>
 

 

33.- Formulario – input type=”hidden”

Un campo hidden se lo denomina campo oculto. Este tipo de control no visualiza nada dentro del formulario. Su utilidad se presenta cuando desde el servidor se genera una página dinámica por ejemplo mediante PHP y se almacena en un campo oculto un valor que se rescatará al subir el formulario al servidor.

Ejemplo:

<html>

<head>

<title>Prueba de formulario</title>

</head>

<body>

<form action=”/registrardatos.php” method=”post”>

<input type=”hidden” value=”10:20″ name=”hora”>

Ingrese su nombre:

<input type=”text” name=”nombre” size=”30″>

<br>

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

</form>

</body>

</html>

 

Como vemos la sintaxis para definir un campo oculto es: <input type=”hidden” value=”10:20″ name=”hora”>

 

34.- Formulario – agrupamiento de controles

El HTML dispone de un elemento llamado fieldset que solo tiene el objetivo de recuadrar y agrupar un conjunto de controles de un formulario. Además para agregar un título a este recuadro debemos agregar otro elemento HTML llamado legend.

Confeccionemos un formulario que solicite los datos personales de una persona y los datos del lugar donde trabaja, cada grupo de datos los dispondremos en un fieldset:

Formulario: Agrupamiento de controles

<fieldset>

<legend>Datos personales</legend>

Apellido y nombre:

<input type=”text” name=”nombre” size=”30″><br>

</fieldset>

<fieldset>

<legend>Datos Laborales</legend>

Nombre de la empresa:

<input type=”text” name=”nombreempresa” size=”30″><br>

</fieldset>
 

 

 

 

35.- Formulario – controles con valores iniciales

Un control puede aparecer cargado con un valor por defecto. Veamos como inicializar con valores por defecto para cada uno de los controles que hemos visto.

Para inicializar un control de tipo text debemos dar un valor a la propiedad value:

<input type=”text” value=”aqui su nombre” name=”nombre” size=”20″>

 

El control aparece cargado con la cadena “aqui su nombre”.

Para inicializar un control de tipo textarea debemos indicar el dato entre el comienzo y el fin de la marca:

<textarea rows=”10″ cols=”40″ name=”curriculum”>Ingrese aqui su curriculum</textarea>

 

El control textarea se inicializa con la cadena “Ingrese aqui su curriculum”

Para inicializar un control de tipo checkbox debemos disponer la propiedad checked sin asignar valor:

<input type=”checkbox” name=”java” checked>Opcion 1<br>

 

Con esto logramos que el checkbox aparezca tildado apenas aparece el formulario.

Para inicializar un control de tipo radio debemos definir la propiedad checked sin valor, igual que un checkbox, con la salvedad que solo un control de tipo radio puede tener definida esta propiedad:

<input type=”radio” name=”estudios” value=”1″ checked>Opción 1<br>

 

Para inicializar un control de tipo select con selección individual debemos definir la propiedad selected de los elementos option:

<select name=”pais”>
<option value=”1″>Argentina</option>
<option value=”2″ selected>España</option>
<option value=”3″>México</option>
</select>

 

En este caso aparece seleccionado España, más allá que sea el segundo option en la lista.

Para inicializar un control de tipo select con selección múltiple debemos definir la propiedad selected de varios elementos option:

<select name=”colores[]” size=”4″ multiple=”multiple”>
<option value=”1″ selected>Rojo</option>
<option value=”2″>Verde</option>
<option value=”3″ selected>Azul</option>
<option value=”4″>Amarillo</option>
</select>

 

En este ejemplo los ítems Rojo, Azul aparecen seleccionados desde un comienzo.

Confeccionaremos como ejemplo un formulario que solicite el ingreso del nombre de una persona. Luego que seleccione si es mayor de edad o no (por defecto inicializar en si), seguidamente el teléfono (cargar por defecto 453-) y por último en un textarea solicitar que ingrese comentarios.

<html>

<head>

<title>Prueba de formulario</title>

</head>

<body>

<form action=”/registrardatos.php” method=”post”>

Apellido y nombre:

<input type=”text” name=”nombre” size=”30″><br>Es mayor de edad?:<br>

<input type=”radio” name=”radio1″ checked value=”si”>Si<br>

<input type=”radio” name=”radio1″ value=”no”>No<br>

Telefono:

<input type=”text” value=”453-” name=”telefono” size=”15″><br>

<textarea name=”comentarios” rows=”5″ cols=”40″>Ingrese aqui sus comentarios</textarea><br>

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

</form>

</body>

</html>

 

36.- Formulario – Inhabilitar controles

Todos los controles que hemos visto podemos hacer que aparezcan inhabilitados. Supongamos que disponemos 3 controles de tipo radio para indicar que sección del sitio deseamos ingresar. Nosotros queremos mostrar que tiene 3 secciones pero una no está disponible. Esto lo resolvemos deshabilitando un radio:

<html>

<head>

<title>Prueba de formulario</title>

</head>

<body>

<form action=”/registrardatos.php” method=”post”>

Seleccione la sección donde desea ingresar:

<br>

<input type=”radio” name=”seccion” value=”1″ disabled>Niños<br>

<input type=”radio” name=”seccion” value=”2″>Adolescentes<br>

<input type=”radio” name=”seccion” value=”3″>Mayores<br>

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

</form>

</body>

</html>
Para deshabilitar el primer radio añadimos la propiedad disabled sin asignarle valor:

<input type=”radio” name=”seccion” value=”1″ disabled>Niños

 

Los siguientes elementos pueden inhabilitarse: button, input, optgroup, option, select y textarea.

Esta propiedad tiene mucha aplicación si se aplica JavaScript en la página. Mediante JavaScript podemos luego de haber sido cargado el documento modificar el estado de los controles, habilitando y deshabilitando de acuerdo a los datos que carga el visitante al sitio.

 

37.- Formulario – text/password/textarea y readonly

Si definimos la propiedad readonly a un control este será de solo lectura y no podremos modificar su contenido. Esta propiedad tiene uso cuando mediante un lenguaje de script (generalmente JavaScript) modificamos el control cambiándolo de estado ante ciertos eventos. La diferencia con la propiedad disabled es que con esta no toma foco el control y generalmente aparece con un color que indica que el control está deshabilitado.

Confeccionemos un formulario que aparezca el nombre de una empresa en un text y el texto de un contrato en un textarea, ambos de solo lectura.

<html>

<head>

<title>Prueba de formulario</title>

</head>

<body>

<form action=”/htmlya/registrardatos.php” method=”post”>

Ingrese su nombre:

<input type=”text” name=”nombre” size=”30″ value=”Interpolacion” readonly><br>

Contrato:<br>

<textarea name=”comentarios” rows=”5″ cols=”60″ readonly>

Por la presente …………………………

</textarea>

<br>

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

</form>

</body>

</html>

 

38.- Formulario – Envío de datos mediante mail.

La solución para enviar datos mediante el programa cliente de mail que esté configurado en la computadora debemos inicializar la propiedad action de la siguiente forma:

<form action=”mailto:pizzasya@htmlya.com” method=”post” enctype=”text/plain”>

 

Además inicializamos la propiedad enctype con el valor “text/plain” con lo que le indicamos que se trata de un archivo de texto plano. Tengamos en cuenta que no podemos enviar archivos adjuntos.

Para probar esta funcionalidad confeccionaremos una página que permita hacer un reclamo de reparaciones y se envíen los datos a una dirección de correo. Se debe poder ingresar el nombre, dirección y un comentario del problema.

La página HTML es:

<html>

<head>

<title>Prueba de formulario</title>

</head>

<body>

<h2>Reclamos</h2>

<form action=”mailto:reclamos@gmail.com” method=”post”

enctype=”text/plain”>

Ingrese su nombre:

<input type=”text” name=”nombre” size=”20″>

<br>

Ingrese su dirección:

<input type=”text” name=”dirección” size=”30″>

<br>

Informe del problema:

<br>

<textarea rows=”5″ cols=”40″ name=”problema”></textarea>

<br>

<input type=”submit” value=”enviar”>

</form>

</body>

</html>
Debe llegar a la casilla de correos reclamos@gmail.com un mail con el contenido de los datos cargados en el formulario. El mail contiene el nombre del control y el contenido ingresado por el operador.

Si queremos que el correo llegue con un título debemos inicializar subject:
<form action=”mailto:reclamos@gmail.com?subject=pedido de reparación” method=”post” enctype=”text/plain”>

 

Con esto logramos ubicar perfectamente todos los mail que llegan a nuestra casilla de correos reclamos@gmail.com


Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros

Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

Related posts