Elemento input (type=email)

Si no sabes lo que es un elemento o cómo debes usarlo, te recomiendo leer el tutorial "Tags y atributos en HTML" que puedes encontrar en la sección de tutoriales HTML.

Descripción

El elemento input, teniendo el valor "email" en su atributo type, representa un campo para una o más direcciones de correo electrónico. Cuando el atributo multiple está presente, el control puede tomar una lista de direcciones de e-mail separadas por comas.

El control asociado a este campo es, cuando se establece como una entrada de una sola dirección de e-mail, una caja de texto que permite a los usuarios editar solo una línea de texto regular. Pero cuando el atributo multiple está presente, los navegadores pueden proveer los medios para que los usuarios agreguen, editen y eliminen cualquier número de direcciones de correo.

Los navegadores, al tanto del tipo de información que este campo debería recibir, puede proveer opciones de autocompletado basadas en listas de contactos almacenadas en la computadora del usuario.

Los navegadores pueden llevar a cabo algún tipo de validación en entradas de e-mail. En tales casos, el atributo pattern puede ser usado para llevar a cabo una segunda comprobación luego de la validación estándar, permitiendo a los autores establecer restricciones extra.

El soporte provisto por los navegadores para entradas de correo electrónico es incompleto. Los autores pueden tener que recurrir a programas del lado cliente para proveer funcionalidad extra para este tipo de campos, hasta que el soporte crezca.

Ejemplos

En nuestro primer ejemplo crearemos un formulario con una entrada de una sola dirección de correo electrónico. Aquí, haremos uso del atributo placeholder, el cual ha sido introducido en HTML5. Este atributo nos permite dar una pista acerca de la información que se espera sea provista en el control, como ejemplos o descripciones cortas. Esta pista será mostrada dentro del control (como si fuera el valor) sólo cuando el control no tenga un valor real. Cuando el usuario comience a tipear, el texto de placeholder será removido del control.

<form action="../../form-result.php" method="post" target="_blank">
  <p>
    Dirección de correo electrónico: <input type="email" name="direccionemail" placeholder="Ej.: usuario@servidor.com">
    <input type="submit" value="Enviar datos">
  </p>
</form>

Dirección de correo electrónico:

Ahora usaremos el atributo value para proveer un valor inicial para el control, que será establecido cuando la página se cargue y cuando el botón de reinicio sea presionado. Aquí lo usaremos para mostrar un valor que el usuario ya ha ingresado en un formulario previo.

<form action="../../form-result.php" method="post" target="_blank">
  <p>Dirección de correo electrónico: <input type="email" name="direccionemail" value="superusuario138@yahoo.com"></p>
  <p>
    <input type="submit" value="Enviar datos">
    <input type="reset" value="Restaurar formulario">
  </p>
</form>

Dirección de correo electrónico:

En nuestro tercer ejemplo usaremos el atributo multiple, el cual permite a los usuarios ingresar cualquier número de direciones de correo. Se supone que los navegadores deberían proveer una interfaz para permitir a los usuarios agregar, editar y remover direcciones de correo del control, pero la mayoría de ellos sólo provee simplemente una caja de texto con comprobación de validez para una lista de direcciones separadas por comas.

<form action="../../form-result.php" method="post" target="_blank">
  <p>
    Direcciones de correo electrónico: <input type="email" name="emails" multiple>
    <input type="submit" value="Enviar datos">
  </p>
</form>

Direcciones de correo electrónico:

Nuestro ejemplo final combina dos atributos, también nuevos en HTML5, que habitualmente trabajan juntos. Estos son pattern y required. Su importancia se vuelve evidente cuando el autor necesita establecer un conjunto de reglas acerca del formato de la información que puede ser ingresada en un control.

El atributo pattern, ayuda estableciendo expresiones regulares que cualquier valor ingresado debe acatar. Cuando está presente, el atributo title toma particular relevancia, ya que es responsable de proveer una explicación acerca de las reglas que aplican en el campo. Los navegadores pueden usar esta información para componer el mensaje de error que se muestra al usuario luego de un intento fallido de envío.

Por otra parte, el atributo required impide a los usuarios dejar el campo vacío. Ambos atributos, juntos, indican que el control debe ser rellenado y especifican cómo debe ser rellenado.

Una expresión regular es una secuencia de caracteres que forman un patrón de búsqueda, principalmente para su uso en correspondencia de patrones y cadenas u operaciones estilo búsqueda y reemplazo.

El soporte provisto por los navegadores para el atributo required es incompleto. Los autores pueden tener que recurrir a programas para proveer esta funcionalidad consistentemente.

Los navegadores pueden llevar a cabo algún tipo de validación en entradas de e-mail. En tales casos, el atributo pattern puede ser usado para llevar a cabo una segunda comprobación luego de la validación estándar, permitiendo a los autores establecer restricciones extra.

<form action="../../form-result.php" method="post" target="_blank">
  <p>
    Correo de MailForAll.com: <input type="email" name="direccioncorreo" pattern=".+@[mM][aA][iI][lL][fF][oO][rR][aA][lL][lL][.][cC][oO][mM]" title="Solo se permiten cuentas de MailForAll.com">
    <input type="submit" value="Enviar datos">
  </p>
</form>

Correo de MailForAll.com:

Atributos

Atributos específicos

autocomplete

El atributo autocomplete provee información acerca de si y cómo los navegadores deberían sugerir opciones automáticamente para este control, como un intento de adivinar lo que el usuario está escribiendo. Existen tres valores posibles para este atributo:

  • El valor on, indicando al navegador que debería sugerir opciones automáticamente pero sin proveer ninguna otra información acerca del tipo de datos que se espera en el control.
  • El valor off, indicando al navegador que no debería sugerir opciones automáticamente, ya sea debido a que la información a ser ingresada en el control es particularmente sensible (como el usuario para acceder a un área muy segura) o debido a que su valor nunca será reutilizado (como una clave de uso único en un proceso de registración).
  • Una lista de identificadores de detalles de autocompletado, indicando al navegador que debería sugerir opciones automáticamente y especificando el tipo de valor que se espera recibir.

Una lista de identificadores de detalles de autocompletado puede estar compuesta por los siguientes identificadores en el orden especificado.

  1. Opcionalmente, un identificador que comience con la cadena "section-" (insensible a mayúsculas/minúsculas), indicando el grupo al cual el campo pertenece.
  2. Opcionalmente, uno de los dos identificadores siguientes (insensibles a mayúsculas/minúsculas):
    • shipping: el campo es parte de la dirección de envío.
    • billing: el campo es parte de la dirección de facturación.
  3. Lo siguiente, en el orden dado:
    1. Opcionalmente, un identificador que coincide (insensible a mayúsculas/minúsculas) con alguno de los valores siguientes:
      • home: indicando que el campo es para contactar a alguien en su residencia.
      • work: indicando que el campo es para contactar a alguien en su lugar de trabajo.
      • mobile: indicando que el campo es para contactar a alguien en su dispositivo móvil.
      • fax: indicando que el campo describe datos de contacto de una máquina de fax.
      • pager: indicando que el campo describe datos de contacto de un pager ó beeper.
    2. Un identificador que coincide (insensible a mayúsculas/minúsculas) con el siguiente identificador de detalles de autocompletado:
      • email: una dirección de correo electrónico, como juanperez@desconocido.com.

Usualmente, los navegadores llevan a cabo las operaciones de autocompletado recuperando datos de una base de datos con entradas previas u otras fuentes con información del usuaio.

Ejemplo

<form action="../../form-result.php" method="post" target="_blank">
  <p>
    E-mail laboral: <input type="email" name="emaillaboral" autocomplete="work email">
    <input type="submit" value="Enviar">
  </p>
</form>

E-mail laboral:

autofocus

Un valor booleano que instruye al navegador a establecer el enfoque sobre este control cuando el documento termina de cargarse o cuando el cuadro de diálogo (dialog) donde el control se encuentra es mostrado. Si el atributo tiene el valor "autofocus" o la cadena vacía (""), o si simplemente está presente, el control debería obtener el enfoque tan pronto como sea posible, luego de que la página o cuadro de diálogo hayan sido cargados.

Ejemplo

<p>Dirección de correo: <input type="email" name="direccioncorreo" autofocus></p>

disabled

Un valor booleano que indica si el control se encuentra deshabilitado o no. Si el atributo toma el valor "disabled" o la cadena vacía (""), o si está simplemente presente, el control estará deshabilitado.

Los controles deshabilitados son representados en color gris (si son visibles), son impedidos para interactuar con el usuario y, lo más importante, sus valores (si lo tienen) no son enviados cuando el formulario es despachado.

Ejemplo

<form action="../../form-result.php" method="post" target="_blank">
  <p>
    Correo del referente: <input type="email" name="correoreferente" value="jhon@yahoo.com" disabled>
    <input type="submit" value="Enviar datos">
  </p>
</form>

Correo del referente:

form

El valor del atributo id del formulario con el que este control está asociado.

Este atributo es nuevo en HTML5 y ayuda a definir la pertenencia de los controles en formularios anidados o distantes.

Ejemplo

<p>Correo: <input type="email" name="correo" form="formulario1"></p>
<form id="formulario1" action="../../form-result.php" method="post" target="_blank">
  <p><input type="submit" value="Enviar datos"></p>
</form>

Correo:

list

Un identificador que concuerda con el valor del atributo id del elemento datalist con el que este control está asociado. El datalist referenciado por este atributoproveerá un número de sugerencias que los usuarios pueden escoger para autocompletar el control.

El soporte provisto por los navegadores para datalist es incompleto. Los autores pueden tener que recurrir a programas para proveer esta funcionalidad consistentemente.

Ejemplo

<form action="../../form-result.php" method="post" target="_blank">
  <p>
    Dirección contactada: <input type="email" name="direccion contactada" list="listaemails">
    <input type="submit" value="Enviar datos">
  </p>
</form>
<datalist id="listaemails">
  <option value="info@supermegaco.com">
  <option value="ventas@supermegaco.com">
  <option value="jhonsmith@supermegaco.com">
  <option value="alansmith@supermegaco.com">
</datalist>

Dirección contactada:

maxlength

Un entero que indica el número máximo de caracteres que el valor de este control puede tener.

Los autores no deberían confiar en el atributo maxlength. Los usuarios podrían enviar la información del formulario con navegadores que (algunos intencionalmente) no soportan estas características.

Ejemplo

<form action="../../form-result.php" method="post" target="_blank">
  <p>
    Correo electrónico: <input type="email" name="correoe" maxlength="30">
    <input type="submit" value="Enviar datos">
  </p>
</form>

Correo electrónico:

minlength

Un entero que indica el número mínimo de caracteres que el valor de este control puede tener.

Los autores no deberían confiar en el atributo minlength. Los usuarios podrían enviar la información del formulario con navegadores que (algunos intencionalmente) no soportan estas características.

El soporte provisto por los navegadores para el atributo minlength es extremadamente bajo (hasta el 18/12/2014). Los autores no deberían confiar en este atributo hasta que el soporte crezca.

Ejemplo

<form action="../../form-result.php" method="post" target="_blank">
  <p>
    E-mail: <input type="email" name="emailaddress" minlength="8">
    <input type="submit" value="Send data">
  </p>
</form>

E-mail:

multiple

Un valor booleano que indica si el control debería aceptar múltiples valores o no. Si el valor en este atributo es "multiple" o la cadena vacía (""), o si el atributo está simplemente presente, se supone que el control debe aceptar múltiples valores.

Se supone que los navegadores deberían proveer una interfaz para permitir a los usuarios agregar, editar y remover direcciones de correo del control, pero la mayoría de ellos sólo provee simplemente una caja de texto con comprobación de validez para una lista de direcciones separadas por comas.

Ejemplo

<form action="../../form-result.php" method="post" target="_blank">
  <p>
    Direcciones de correo electrónico: <input type="email" name="correos" multiple>
    <input type="submit" value="Enviar datos">
  </p>
</form>

Direcciones de correo electrónico:

name

Un nombre para el control. Este nombre será enviado por el navegador al agente procesador, emparejado con el contenido del atributo value. Ambos atributos juntos conformarán un par nombre-valor que será utilizado para procesar la información del formulario.

Actualmente, el valor isindex, antiguamente utilizado de manera especial por algunos navegadores e incluido en el estándar HTML, no está permitido en este atributo.

Ejemplo

<form action="../../form-result.php" method="post" target="_blank">
  <p>
    Nuevo e-mail: <input type="email" name="nuevoemail">
    <input type="submit" value="Enviar datos">
  </p>
</form>

Nuevo e-mail:

pattern

Una expresión regular para comparar con el valor del control antes de que el formulario sea enviado. Este atributo puede ser usado para especificar un formato que los usuarios tendrán que respetar a la hora de completar el campo. Si este patrón no es respetado, un mensaje de error será mostrado durante el envío y el proceso será cancelado (a menos que el atirbuto formnovalidate esté presente en el formulario o en el botón de envío).

El atributo title toma un significado especial cuando este atributo está presente: se espera que éste provea una explicación acerca de las reglas que aplican en el campo. Los navegadores pueden usar la información de title para componer el mensaje de error que es mostrado al usuario cuando el proceso de envío es cancelado.

Una expresión regular es una secuencia de caracteres que forman un patrón de búsqueda, principalmente para su uso en correspondencia de patrones y cadenas u operaciones estilo búsqueda y reemplazo.

Los navegadores podrían llevar a cabo algún tipo de validación en la entrada de correo electrónico. En tales casos, el atributo pattern puede ser usado para llevar a cabo una segunda revisión luego de la validación estándar, permitiendo a los autores establecer restricciones extra.

Ejemplo

<form action="../../form-result.php" method="post" target="_blank">
  <p>
    Correo (servidores .com únicamente): <input type="email" name="correo" pattern=".+\.com" title="Solo se aceptan direcciones de corre bien formadas pertenecientes a servidores .com">
    <input type="submit" value="Enviar datos">
  </p>
</form>

Correo (servidores .com únicamente):

placeholder

Una línea de texto que se supone provee una pista acerca de cómo debería ser rellenado el campo, como ejemplos o descripciones cortas. Los navegadores pueden mostrar los contenidos de este atributo en el control mientras este no tiene un valor. Tan pronto como el usuario comience a escribir su propio texto, el texto placeholder debería desaparecer del control.

Los autores no deberían utilizar este atributo para reemplazar a la etiqueta. Las etiquetas están pensdas para proveer un título, mientras que el texto placeholder debería dar una pequeña pista acerca de cómo rellenar el campo. Además, es de esperarse el texto placeholder desaparezca cuando el usuario comience a escribir en el control.

Ejemplo

<form action="../../form-result.php" method="post" target="_blank">
  <p>
    Correo: <input type="email" name="correo" placeholder="usuario@servidor.com">
    <input type="submit" value="Enviar datos">
  </p>
</form>

Correo:

readonly

Un valor booleano que instruye al navegador a impedir que el usuario cambie el valor del control. Si este atributo tiene el valor "readonly" o la cadena vacía (""), o si simplemente está presente, el usuario no tendrá premitido hacer cambios al valor en el control.

Aunque este atributo previene que el valor del control sea editado, no toda interacción es bloqueada: los usuario aún podrán seleccionar y copiar el texto en el control.

Ejemplo

<form action="../../form-result.php" method="post" target="_blank">
  <p>
    Correo laboral: <input type="email" name="correolaboral" value="jhon@supermegaco.com" readonly>
    <input type="submit" value="Enviar datos">
  </p>
</form>

Correo laboral:

required

Un valor booleano que indica si este control puede ser dejado en blanco o no. Si este atributo tiene el valor "required" o la cadena vacía (""), o si está siplemente presente, el usuario tendrá que rellenar el control a fin de poder enviar el formulario.

Si un control con el atributo required presente es dejado en blanco, los navegadores que soporten este mecanismo arrojarán un error previo al envío y cancelarán el proceso inmediatamente.

El soporte provisto por los navegadores para el atributo required es incompleto. Los autores pueden tener que recurrir a programas para proveer esta funcionalidad consistentemente.

Ejemplo

<form action="../../form-result.php" method="post" target="_blank">
  <p>
    Correo: <input type="email" name="correo" required>
    <input type="submit" value="Enviar datos">
  </p>
</form>

Correo:

size

Un entero para ser usado como ancho del elemento, como un número de caracteres que deberian ser visibles en el control simultáneamente.

Como los caracteres normalmente no tienen el mismo ancho, los navegadores pueden definir el ancho de carácter de acuerdo a ciertos criterios (como ancho promedio o máximo).

Ejemplo

<form action="../../form-result.php" method="post" target="_blank">
  <p>
    Nuevo correo electrónico: <input type="email" name="nuevocorreo" size="20">
    <input type="submit" value="Enviar datos">
  </p>
</form>

Nuevo correo electrónico:

type

Un valor que indica el tipo de campo que representa este elemento. Existen veintidós valores posibles (insensibles a mayúsculas/minúsculas):

  • hidden: un control oculto utilizado para enviar información al servidor, típicamente manejado por programas.
  • text: un control usado para la entrada de una sola línea de texto.
  • search: igaul a text pero con fines de búsqueda.
  • tel: un control usado para proveer un número de teléfono.
  • url: una caja de texto usada para el ingreso de un único URL absoluto.
  • email: un control diseñado para editar una o más direcciones de e-mail.
  • password: una caja de texto para la edición de contraseñas, donde los caracteres son representados por puntos.
  • date: un control para ingresar una fecha específica.
  • month: un control para ingresar un mes específico.
  • week: un control para ingresar una semana específica.
  • time: un control para ingresar una hora específica.
  • datetime-local: un control para ingresar una fecha y hora local específica.
  • number: un control para ingresar un número.
  • range: un control para ingresar uno o dos números dentro de un rango.
  • color: un control para ingresar un color.
  • checkbox: un control para ingresar un valor booleano (verdadero/falso).
  • radio: un control para elegir una única opción entre varias.
  • file: un control usado para subir archivos al servidor.
  • submit: un botón usado para enviar el formulario.
  • image: igual a submit pero con la habilidad de verse como una imagen en lugar de usar la apariencia predeterminada de los botones.
  • reset: un botón usado para reiniciar los controles del formulario a sus valores iniciales.
  • button: un botón sin una acción predeterminada asociada.

Cuando este atributo está ausente, el elemento se comporta como si tuviera el valor "text".

Ejemplo

<input type="email" name="emailaddress">

value

Un valor inicial para el control, que será establecido cuando la página se cargue y cuando el botón de reinicio sea presionado.

Ejemplo

<form action="../../form-result.php" method="post" target="_blank">
  <p>Correo electrónico laboral: <input type="email" name="correolaboral" value="jhon@supermegaco.com"></p>
  <p>
    <input type="submit" value="Enviar datos">
    <input type="reset" value="Restaurar formulario">
  <p>
</form>

Correo electrónico laboral:

Atributos globales

Para más información acerca de los atributos globales refiérete a esta lista de atributos gloables en HTML5.

Eventos

Eventos globales

Para más información acerca de los eventos globales refiérete a esta lista de eventos globales en HTML5.