viernes, 16 de mayo de 2014

Los nuevos campos



1. La visualización de los nuevos campos

Como es habitual, la especificación del HTML5 no define cómo deberán mostrarse los elementos de los formularios. Cada navegador usará sus propios elementos de interfaz. De este modo, habrá una gran diferencia entre el navegador de un ordenador, el de un smartphone y el de una tableta gráfica.

Recuerde que, de manera predeterminada, los campos de introducción de datos son de tipo <input type="text">, lo que quiere decir que si un navegador no reconoce un nuevo tipo de campo, lo presentará como un campo de texto "normal".


2. Los campos para las direcciones de e-mail

El nuevo campo de introducción de datos de tipo email permite especificar que el contenido insertado deberá ser una dirección de e-mail, es decir, que deberá incluir el carácter @. A continuación serán los navegadores quienes comprobarán de forma nativa si la arroba ha sido insertada o no.

Esta es la sintaxis: <input type="email">

Otra ventaja innegable, cuando se use con un smartphone que reconozca este tipo de campo: el teclado se adaptará automáticamente para la inserción de la dirección de e-mail. Ejemplo con un iPhone :


Sepa, además, que será el navegador quien decida con total libertad cómo va a reaccionar cuando el valor introducido no sea una dirección de e-mail válida.

Este es el mensaje de error en el navegador Opera:



3. El campo para los números de teléfono

El campo de inserción de datos de tipo tel ha sido creado para recuperar números de teléfono.

Esta sería la sintaxis: <input type="tel">

No se aplicará ninguna restricción, ya que los números de teléfono son muy diferentes de un país a otro, e incluso pueden contener caracteres que no sean numéricos. Una vez más, los smartphones podrán adaptar el teclado.



4. El campo para las URL

El campo para la introducción de datos de tipo url permite recuperar una URL. La comprobación de dicha URL para ver si es válida dependerá totalmente del navegador.

Esta sería la sintaxis: <input type="url">

La última versión del navegador Opera añade automáticamente "http" cuando se introduce una URL que comience por "www". Una vez más, los smartphones podrán adaptar el teclado para facilitar la inserción de la URL.



5. Los campos para las fechas y las horas

El campo de tipo date permite insertar una fecha. Pero, en lugar de dejar que sean los propios usuarios quienes inserten las fechas, con los riesgos de error que eso conlleva, los navegadores propondrán de forma nativa una interfaz de selección de fechas que sea fácil de usar.

Esta sería la sintaxis: <input type="date">

Esta es la interfaz minimalista que proponen Chrome y Safari, con el formato AAAA-MM-DD:


Opera propone una interfaz más ergonómica:


Las fechas también presentan el formato AAAA-MM-DD:


Existen otros tipos para los campos de fechas: 
  • el día y la hora con la diferencia horaria: <input type="datetime"> 
  • el día y la hora sin la diferencia horaria: <input type="datetime-local"> 
  • la fecha solamente: <input type="date"> 
  • la hora solamente: <input type="time"> 
  • las semanas solamente: <input type="week"> 
  • los meses solamente: <input type="month">

Este es un ejemplo de inserción de la hora con Opera:


Este es un ejemplo de inserción de la semana con Opera:


Y una vez que hemos elegido la semana:



6. El campo para los valores numéricos

Con el campo de inserción de datos de tipo number solamente se pueden introducir valores numéricos. La validación de este tipo de campo se deja una vez más a la libre elección de los navegadores.

Esta sería la sintaxis: <input type="number">

Este tipo de campo admite varios atributos: 
  • min: el valor mínimo aceptado. 
  • max: el valor máximo aceptado. 
  • step: el valor del incremento que deberá aplicarse en la interfaz. 
  • value: el valor que se haya facilitado.

Veamos un ejemplo de sintaxis en el que podemos elegir un valor numérico, de 18 como mínimo, hasta un máximo de 100, mediante intervalos de 2 en 2 y con un valor inicial de 48:

<input type="number" min="18" max="100" step="2" value="48" id="edad" />

Esta es la interfaz que le propondrá Opera:



7. Las barras de selección con cursor

El campo de introducción de datos range, que en realidad no permite introducir datos, mostrará una barra de selección con un cursor en la que podremos elegir un valor.

Esta sería la sintaxis: <input type="range">

Este tipo de campo admite los mismos atributos que number.

La visualización de los valores seleccionados se realiza con JavaScript:

<p>
<label for="edad">Indique su edad: </label>
<input type="range" min="18" max="100" step="2" value="48" id="edad2"
oninput="document.getElementById(’valor’).textContent=value">
<output id="valor">0</output>
</p>

Así se mostrará la barra de selección en Safari:



8. Los campos de búsqueda

El tipo search permite insertar un campo de introducción de datos específico para las búsquedas. Su visualización dependerá de los parámetros de la interfaz del navegador que esté utilizando el visitante, ¡así que puede variar muchísimo!

Esta sería la sintaxis: <input type="search">

Así se visualizará en Safari :



9. El campo de introducción de datos con sugerencias

Este campo de tipo datalist permite disponer de un campo de inserción libre y, al mismo tiempo, de las funcionalidades de un menú desplegable. De este modo el usuario podrá insertar un valor personalizado o bien elegir un valor entre las sugerencias propuestas.

El elemento datalist utiliza los elementos habituales option para las sugerencias. Tendremos que usar simultáneamente un campo de tipo text y un elemento datalist. La relación se establece con el valor del atributo list de input y el id de datalist.

Veamos un ejemplo de aplicación:

<input id="os" type="text" list="OS">
<datalist id="OS">
<option value="Mac OS">
<option value="Windows">
<option value="Linux">
</datalist>

Así se visualizará en Opera:



10. La selección de un color

Con este último nuevo elemento para los formularios, los visitantes pueden seleccionar un color en el sistema de selección de colores de su sistema operativo.

Esta sería la sintaxis: <input type="color">.

Así se visualizará en Opera:


Si el usuario hace clic en Otros, se utilizará el sistema de selección de colores del sistema operativo del internauta.

Ejemplo con Mac OS:



11. Las claves públicas

Si necesita enviar una clave pública con un formulario, utilice el elemento <keygen>.


Espero haber ayudado en algo. Hasta la próxima oportunidad!







No hay comentarios:

Publicar un comentario en la entrada