11 nov 2017

FORMULARIOS CON HTML5 NUEVOS ELEMENTOS!!!!


desarrollo web
@madesweb


La Web 2.0 está completamente enfocada en el usuario. Y cuando el usuario es el centro de atención, todo está relacionado con interfaces, en cómo hacerlas más intuitivas, más naturales, más prácticas, y por supuesto más atractivas.


 Los formularios web son la interface más importante de todas, permiten a los usuarios insertar datos, tomar decisiones, comunicar información y cambiar el comportamiento de una aplicación.


Durante los últimos años, códigos personalizados y librerías fueron creados para procesar formularios en el ordenador del usuario. HTML5 vuelve a estas funciones estándar agregando nuevos atributos, elementos y una API completa. Ahora la capacidad de procesamiento de información insertada en formularios en tiempo real ha sido incorporada en los navegadores y completamente estandarizada.


EL ELEMENTO FORM


Los formularios en HTML no han cambiado mucho. La estructura sigue siendo la misma, pero HTML5 ha agregado nuevos elementos, tipos de campo y atributos para expandirlos tanto como sea necesario y proveer así las funciones actualmente implementadas en aplicaciones web.

plantilla de formulario con html5
@madesweb

En la imagen anterior creamos una plantilla básica para formularios.

Como puede ver, la estructura del formulario y sus atributos siguen siendo igual que en especificaciones previas. Sin embargo, existen nuevos atributos para el elemento

form: autocomplete Este es un viejo atributo que se ha vuelto estándar en esta especificación. Puede tomar dos valores: on y off.
El valor por defecto es on. Cuando es configurado como off los elementos input pertenecientes a ese formulario tendrán la función de autocompletar desactivada, sin mostrar entradas previas como posibles valores.
Puede ser implementado en el elemento form o en cualquier elemento input independientemente.

Novalidate: Una de las características de formularios en HTML5 es la capacidad propia de validación. Los formularios son automáticamente validados.
Para evitar este comportamiento, podemos usar el atributo novalidate  Para lograr lo mismo para elementos input específicos, existe otro atributo llamado formnovalidate.

Ambos atributos son booleanos, ningún valor tiene que ser especificado (su presencia es suficiente para activar su función).

A continuación definiremos cada tipo de dato que existe, para poder incorporarlos en un formularios según nos convenga.

EL ELEMENTO INPUT


El elemento más importante en un formulario es input. Este elemento puede cambiar sus características gracias al atributo type (tipo).

Este atributo determina qué clase de entrada es esperada desde el usuario. Los tipos disponibles hasta el momento eran el multipropósitos text (para textos en general) y solo unos pocos más específicos como password o submit

HTML5 ha expandido las opciones incrementando de este modo las posibilidades para este elemento.
El navegador procesará los datos ingresados de acuerdo al valor del atributo type y validará la entrada o no.

El atributo type trabaja junto con otros atributos adicionales para ayudar al navegador a limitar y controlar en tiempo real lo ingresado por el usuario.


TIPO EMAIL

Casi todo formulario en la web ofrece un campo para ingresar una dirección de email, pero hasta ahora el único tipo de campo disponible para esta clase de datos era text
El tipo text representa un texto general, no un dato específico, por lo que teníamos que controlar la entrada con código Javascript para estar seguros de que el texto ingresado correspondía a un email válido. Ahora el navegador se hace cargo de esto con el nuevo tipo email:

correo, email, html5, formulario
Tipo de dato: Email


TIPO SEARCH

El tipo search (búsqueda) no controla la entrada, es solo una indicación para los navegadores. Al detectar este tipo de campo algunos navegadores cambiarán el diseño del elemento para ofrecer al usuario un indicio de su propósito.
tipo de datos
Tipo de dato : Search


TIPO URL

Este tipo de campo trabaja exactamente igual que el tipo email pero es específico para direcciones web. Está destinado a recibir solo URLs absolutas y retornará un error si el valor es inválido.
formularios, html5
Tipo de dato: url

TIPO TEL

Este tipo de campo es para números telefónicos. A diferencia de los tipos email y url, el tipo tel no requiere ninguna sintaxis en particular. Es solo una indicación para el navegador en caso de que necesite hacer ajustes de acuerdo al dispositivo en el que la aplicación es ejecutada.

tipo de datos tel
Tipo de dato: tel


TIPO NUMBER

Como su nombre lo indica, el tipo number es sólo válido cuando recibe una entrada numérica. Existen algunos atributosnuevos que pueden ser útiles para este campo: min El valor de este atributo determina el mínimo valor aceptado para el campo.

max El valor de este atributo determina el máximo valor aceptado para el campo. step El valor de este atributo determina el tamaño en el que el valor será incrementado o disminuido en cada paso. Por ejemplo, si declara un valor de 5 para step en un campo que tiene un valor mínimo de 0 y máximo de 10, el navegador no le permitirá especificar valores entre 0 y 5 o entre 5 y 10.

tipo de datos number
Tipo de dato: number

TIPO DATE

Este es otro tipo de campo que genera una nueva clase de control. En este caso fue incluido para ofrecer una mejor forma de ingresar una fecha. Algunos navegadores muestran en pantalla un calendario que aparece cada vez que el usuario hace clic sobre el campo. 
El calendario le permite al usuario seleccionar un día que será ingresado en el campo junto con el resto de la fecha. Un ejemplo de uso es cuando necesitamos proporcionar un método para seleccionar una fecha para un vuelo o la entrada a un espectáculo. Gracias al tipo date ahora es el navegador el que se encarga de construir un almanaque o las herramientas necesarias para facilitar el ingreso de este tipo de datos.

TIPO WEEK

Este tipo de campo ofrece una interface similar a date, pero solo para seleccionar una semana completa. Normalmente el valor esperado tiene la sintaxis 2011-W50 donde 2011 es al año y 50 es el número de la semana.

TIPO MONTH

Similar al tipo de campo previo, éste es específico para seleccionar meses. Normalmente el valor esperado tiene la sintaxis año-mes.
tipo de datos month
Tipo de data: month


TIPO TIME

El tipo de campo time es similar a date, pero solo para la hora. Toma el formato de horas y minutos, pero su comportamiento depende de cada navegador en este momento. Normalmente el valor esperado tiene la sintaxis hora:minutos:segundos, pero también puede ser solo hora:minutos.

tipo de datos time
Tipo de dato: time

TIPO DATETIME-LOCAL 
El tipo de campo datetime-local es como el tipo datetime sin la zona horaria.

tipo de datos datetime-local
tipo de dato: datetime-local


TIPO COLOR

Además de los tipos de campo para fecha y hora existe otro tipo que provee una interface predefinida similar para seleccionar colores. Normalmente el valor esperado para este campo es un número hexadecimal, como #00FF00.
tipo de datos color
Tipo de dato: color


TIPO FILE

El tipo de campo  file es para para poder cargar diferentes tipos de archivos.
tipo de dato file
Tipo de dato: file



Nuevos atributos

ATRIBUTO PLACEHOLDER

Especialmente en tipos de campo search, pero también en entradas de texto normales, el atributo placeholder representa una sugerencia corta, una palabra o frase provista para ayudar al usuario a ingresar la información correcta. El valor de este atributo es presentado en pantalla por los navegadores dentro del campo, como una marca de agua que desaparece cuando el elemento es enfocado.
atributo placeholder
Atributo : placeholder



ATRIBUTO REQUIRED

Este atributo booleano no dejará que el formulario sea enviado si el campo se encuentra vacío. Por ejemplo, cuando usamos el tipo email para recibir una dirección de email, el navegador comprueba si la entrada es un email válido o no, pero validará la entrada si el campo está vacío. Cuando el atributo required es incluido, la entrada será válida sólo si se cumplen las dos condiciones: que el campo no esté vacío y que el valor ingresado esté de acuerdo con los requisitos del tipo de campo.
Atributo required
Atributo: required



 ATRIBUTO MULTIPLE

El atributo multiple es otro atributo booleano que puede ser usado en algunos tipos de campo (por ejemplo, email o file) para permitir el ingreso de entradas múltiples en el mismo campo. Los valores insertados deben estar separados por coma para ser válidos.


ATRIBUTO AUTOFOCUS

Esta es una función que muchos desarrolladores aplicaban anteriormente utilizando el método focus() de Javascript. Este método era efectivo pero forzaba el foco sobre el elemento seleccionado, incluso cuando el usuario ya se encontraba posicionado en otro diferente. Este comportamiento era irritante pero difícil de evitar hasta ahora. El atributo autofocus enfocará la página web sobre el elemento seleccionado pero considerando la situación actual. No moverá el foco cuando ya haya sido establecido por el usuario sobre otro elemento.
atributo autofocus
Atributo: autofocus


ATRIBUTO PATTERN

El atributo pattern es para propósitos de validación. Usa expresiones regulares para personalizar reglas de validación. Algunos de los tipos de campo ya estudiados validan cadenas de texto específicas, pero no permiten hacer validaciones personalizadas, como por ejemplo un código postal que consiste en 5 números. No existe ningún tipo de campo predeterminado para esta clase de entrada.

El atributo pattern nos permite crear nuestro propio tipo de campo para controlar esta clase de valores no ordinarios. Puede incluso incluir un atributo title para personalizar mensajes de error.

atributo pattern
Atributo: patterm

ATRIBUTO FORM

El atributo form es una adición útil que nos permite declarar elementos para un formulario fuera del ámbito de las etiquetas<form>. Hasta ahora, para construir un formulario teníamos que escribir las etiquetas <form> de apertura y cierre y luego declarar cada elemento del formulario entre ellas. En HTML5 podemos insertar los elementos en cualquier parte del código y luego hacer referencia al formulario que pertenecen usando su nombre y el atributo form:
atributo form
Atributo: form

De esta manera completamos cada uno de los tipos de datos y atributos con que podermos desarrollar nuestros formularios html5, recordarles que en este articulo no se a tocado tema de css, para dar estilo a nuestros formulario, que por ser muy extenso el tema pues sera en otra oportunidad.

les presento una imgen con todos los campos y atributos que se pueden utilizar en un formulario.
Recuerden probar sus codigos en diferentes navegadores para obterner distintos resultados, y optimizar sus codigos.

Descarga el archivo con los códigos.!!!!





No hay comentarios:

Publicar un comentario