Formularios¶
Los formularios permiten la realización de aplicaciones interactivas, proporcionando un mecanismo para recopilación de información propia del usuario.
La creación de formularios consta de dos partes:
- La creación de la estructura donde se solicita/incluye la información solicitada (etiquetas
input
,textarea
,select
y otras). - La realización de una acción con la información solicitada (etiqueta
form
).
Formularios¶
La etiqueta form
permite definir la acción (y como) que se realizará para enviar el formulario al servidor. Para
ello, se hacen uso de los siguientes atributos:
action
: la URL que procesará la información enviada (la URL "destinataria" del formulario).method
: el método por el cual se enviará (GET
oPOST
).
Labels¶
Dentro del formulario, se pueden asociar "etiquetas de nombre" a los campos a cubrir. Esto se realiza con la etiqueta
label
. En la etiqueta label
se especifica el atributo for
con el ID del campo a asociar.
<!-- OPCIÓN 1 (Recomendada): Es necesario incluir el atributo "for" -->
<label for="txt">Texto:</label>
<input type="text" size="20" name="txt_1" id="txt"/>
<!-- Opción 2: Se puede llegar a omitir -->
<label>
Texto:
<input type="text" size="20" name="txt_1"/>
</label>
Fieldset y Legend¶
Para agrupar la información y hacerlo más visual, se pueden utilizar dos atributos adicionales: fieldset
y legend
.
De esta forma, campos similares se pueden agrupar e indicar una leyenda para los mismos.
Ejemplo¶
<html>
<head>
<title>Mi primera página web</title>
</head>
<body>
<form action="#" method="get">
<fieldset>
<legend>Campo 1</legend>
<label for="field1">Nombre 1</label>
<input type="text" name="name1" id="field1"/>
<label for="field2">Nombre 2</label>
<input type="text" name="name2" id="field2"/>
</fieldset>
<fieldset>
<legend>Campo 2</legend>
<label for="field3">Opción 1</label>
<input type="checkbox" name="check" id="field3"/>
<label for="field4">Opción 2</label>
<input type="checkbox" name="check" id="field4" checked/>
</fieldset>
<input type="submit" value="Enviar">
</form>
</body>
</html>
Etiqueta input
¶
Permite crear diferentes elementos gráficos para la captura de información. Su estructura, con los atributos más comunes, es la siguiente:
type
: tipo de control (botón, texto, contraseña, enviar, resetear, oculto, archivo, etc.)name
: nombre del campo a capturar (se enviará después al servidor)value
: valor actual del campo
Al igual que cualquier otro elemento HTML, los input
tiene asignados una serie de métodos para poder responder a
ciertos eventos dados. Dependiendo del type
, es posible que haya alguno más disponible.
Botón¶
Permite realizar una acción al hacer click sobre el botón.
Métodos Disponibles
onClick
: se ha realizado click en el elementoonFocus
: se ha realizado focus en el elemento (click pero sin llegar a levantar)onBlur
: se ha dejado de hacer focus en el elemeneto (se ha levantado el click)
Texto¶
Permite la introducción de datos en forma de texto en una sola línea.
Métodos Disponibles
onClick
: se ha realizado click en el elementoonFocus
: se ha realizado focus en el elemento (click pero sin llegar a levantar)onBlur
: se ha dejado de hacer focus en el elemeneto (se ha levantado el click)onChange
: el valor del elemento ha cambiadoonSelect
: se ha seleccionado un valor en el elemento
Contraseña¶
Permite la introducción de datos en forma de texto oculto al usuario.
Métodos Disponibles
onClick
: se ha realizado click en el elementoonFocus
: se ha realizado focus en el elemento (click pero sin llegar a levantar)onBlur
: se ha dejado de hacer focus en el elemeneto (se ha levantado el click)onChange
: el valor del elemento ha cambiadoonSelect
: se ha seleccionado un valor en el elemento
Oculto¶
Permite la introducción de datos útiles para el servidor de manera programática, ocultos al usuario.
Métodos Disponibles
onChange
: el valor del elemento ha cambiado
Enviar¶
Permite el envío de los datos del formulario al servidor.
Métodos Disponibles
onClick
: se ha realizado click en el elementoonFocus
: se ha realizado focus en el elemento (click pero sin llegar a levantar)onBlur
: se ha dejado de hacer focus en el elemeneto (se ha levantado el click)
Resetear¶
Permite el restablecimiento de los datos del formulario al servidor.
Métodos Disponibles
onClick
: se ha realizado click en el elementoonFocus
: se ha realizado focus en el elemento (click pero sin llegar a levantar)onBlur
: se ha dejado de hacer focus en el elemeneto (se ha levantado el click)
Archivo¶
Permite seleccionar archivos locales para "subirlos" al servidor.
Métodos Disponibles
onClick
: se ha realizado click en el elementoonFocus
: se ha realizado focus en el elemento (click pero sin llegar a levantar)onBlur
: se ha dejado de hacer focus en el elemeneto (se ha levantado el click)onChange
: el valor del elemento ha cambiado
Checkboxes¶
Permite seleccionar varias opciones de una lista predefinida.
Métodos Disponibles
onClick
: se ha realizado click en el elementoonFocus
: se ha realizado focus en el elemento (click pero sin llegar a levantar)onBlur
: se ha dejado de hacer focus en el elemeneto (se ha levantado el click)onChange
: el valor del elemento ha cambiado
Radios¶
Permite seleccionar una opción de una lista predefinida.
Métodos Disponibles
onClick
: se ha realizado click en el elementoonFocus
: se ha realizado focus en el elemento (click pero sin llegar a levantar)onBlur
: se ha dejado de hacer focus en el elemeneto (se ha levantado el click)onChange
: el valor del elemento ha cambiado
Imagen¶
Permite crear botones de envío gráficos, es decir, que adoptan la forma de una imagen en lugar de texto.
Métodos Disponibles
onClick
: se ha realizado click en el elementoonFocus
: se ha realizado focus en el elemento (click pero sin llegar a levantar)onBlur
: se ha dejado de hacer focus en el elemeneto (se ha levantado el click)onChange
: el valor del elemento ha cambiado
Range¶
Permite crear un elemento gráfico de tipo "slide" para poder seleccionar un rango de valores.
Métodos Disponibles
onClick
: se ha realizado click en el elementoonFocus
: se ha realizado focus en el elemento (click pero sin llegar a levantar)onBlur
: se ha dejado de hacer focus en el elemeneto (se ha levantado el click)onChange
: el valor del elemento ha cambiado
Fechas y Horas¶
Permite seleccionar una fecha, ya sea un día (date
), semana (week
) o mes (month
). También se pueden seleccionar
horas (time
) o ambas a la vez (datetime-local
).
Métodos Disponibles
onClick
: se ha realizado click en el elementoonFocus
: se ha realizado focus en el elemento (click pero sin llegar a levantar)onBlur
: se ha dejado de hacer focus en el elemeneto (se ha levantado el click)onChange
: el valor del elemento ha cambiado
Color¶
Permite seleccionar un color de la paleta de colores.
Métodos Disponibles
onClick
: se ha realizado click en el elementoonFocus
: se ha realizado focus en el elemento (click pero sin llegar a levantar)onBlur
: se ha dejado de hacer focus en el elemeneto (se ha levantado el click)onChange
: el valor del elemento ha cambiado
Etiqueta textarea
¶
Esta etiqueta permite enviar texto multilínea al servidor. Es similar al <input type="text">
, pero con la diferencia
de permitir introducir retornos de carro.
Métodos Disponibles
onClick
: se ha realizado click en el elementoonFocus
: se ha realizado focus en el elemento (click pero sin llegar a levantar)onBlur
: se ha dejado de hacer focus en el elemeneto (se ha levantado el click)onChange
: el valor del elemento ha cambiadoonSelect
: se ha seleccionado un valor en el elementoonKeyPress
: se ha pulsado una tecla del tecladoonKeyDown
: se ha pulsado una tecla del teclado pero no se ha levantado la pulsación todavíaonKeyUp
: se ha levantado la pulsación de la tecla del teclado
Etiqueta datalist
¶
Esta etiquieta permite crear listas de valores por defecto que ayudan a encontrar posibles nombres por defecto.
<html>
<head>
<title>Mi primera página web</title>
</head>
<body>
<input type="text" list="nombres" name="txt_1"/>
<datalist id="nombres">
<option value="Pedro"></option>
<option value="Antonio"></option>
<option value="Manuel"></option>
<option value="Pablo"></option>
</datalist>
<input type="submit"/>
</body>
</html>
Etiqueta select
¶
Esta etiqueta permite crear un desplegable y seleccionar una (o varias) opciones de una lista.