Desarrollo de aplicaciones WEB

Formularios en HTML5

Departamento Informática y Sistemas

Introducción

Se dan muchas razones para usar los nuevos atributos incorporados en el estándar HTML5 y algunas para no usarlos:


A favor: Importante ahorro de código combinando los nuevos input y atributos. No es necesario realizar tantas validaciones mediante PHP, jQuery o similares


En contra: Al no estar muy difundido HTML5 hace que aún haya elementos que no se representen en algunos navegadores


A continuación se describen por orden alfabético los atributos

Atributos HTML5

Autofocus


Situa el cursor de manera activa en un <input> del formulario sin necesidad de pulsar en él


<input type="number" name="nombre" autofocus="autofocus"/>

Atributos HTML5

autocomplete


Permite recordar, autocompletar y/o sugerir los valores insertados anteriormente en el mismo formulario. Se puede aplicar a los <input> o a todo el formulario

Admite dos valores: on para activar autocomplete y off para desactivarlo

<form action="#" autocomplete="on">
     Nombre: <input type="text" name="nombre" autocomplete="on"/>
     Apellidos: <input type="text" name="apellidos" autocomplete="off" />
</form>

Atributos HTML5

form


Con este atributo (no confundir con la etiqueta) no es obligatorio que los <input> de un formulario estén dentro del mismo. Los formularios deberán tener un <id> asignado y los input referenciarán a ese <id> para relacionarse

<form action="form-html5.php" id="formulario" method="POST">
     Nombre: <input type="text" name="nombre"><br>
     <input type="submit" value="Enviar">
</form>
Apellidos: <input type="text" name="apellidos" form="formulario">

Atributos HTML5

formaction


Permite cambiar action de un formulario en función del botón que se pulse

Funciona agregando este atributo a los <input> de tipo ‘submit’, en caso de pulsar uno de estos <input> action será el que tenga definido el <input>. En el caso opuesto se hará el action que tenga asignado el formulario

<form action="ejemplo-action1.php">
   Nombre: <input type="text" name="nombre"><br>
   Apellidos: <input type="text" name="apellidos"><br>
  <input type="submit" value="Por defecto"><br>
  <input type="submit" formaction="ejemplo-action2.php" value="Nuevo action">
</form>

Valores que podemos asignar a este atributo: application/x-www-form-urlencoded, multipart/form-data, text/plain

Atributos HTML5

formenctype


Permite cambiar la codificación establecida en un formulario, tiene un funcionamiento y sintaxis similar al atributo formaction

<form enctype="multipart/form-data">
    <input type="submit" value="Enviar" formenctype="application/x-www-form-urlencoded">
</form>

Atributos HTML5

formmethod


Permite cambiar el método de envío de formularios, entre POST y GET


<form action="ejemplo-formmethod-html5.php" method="post">
  	Introducir nombre: <input type="text" name="nombre"/>
	  Introducir edad: <input type="number" name="edad"/>
  	<input type="submit" formmethod="get" value="Enviar con GET">
  	<input type="submit" value="Enviar con POST">
</form>

Atributos HTML5

formnovalidate


Controla la validación de formularios. Permite decidir si los nuevos <input> HTML5 que contenga un formulario son validados automáticamente o no

<form action="ejemplo-formnovalidate-html5.php" method="POST">
    Nombre: <input type="text" name="nombre">
    Edad: <input type="number" name="edad">
    Fecha nacimiento: <input type="date" name="nacimiento">
    <input type="submit" value="Enviar">
    <input type="submit" formnovalidate="formnovalidate" value="Enviar sin validación">
</form>

Atributos HTML5

formtarget


Elige el target de un formulario


<form action="ejemplo-formtarget-html5.php" method="POST">
	Nombre: <input type="text" name="nombre">
	<input type="submit" formtarget="_blank" value="Enviar con target blank">
	<input type="submit" value="Enviar">
</form>

Atributos HTML5

heigh y width


Permite modificar las dimensiones de la imagen que sustituye al botón de enviar formularios


<form action="ejemplo-height-width-html5.php" method="POST">
	Nombre: <input type="text" name="nombre"><br><br>
	<input type="image" src="html5.png" alt="Enviar" width="100" height="70">
</form>

Atributos HTML5

list


Es el id de un elemento <datalist> cuyo contenido, los elementos <option>, van a ser usados como ayudas y serán mostrados como propuestas en el área de sugerencias del campo <input>

De uso en las etiquetas <datalist> y <option>

<form name="formulario" id="formulario" action="list-html5.php" method="POST">
<!-- datalist con id 'listas' y diferentes valores -->
 
Escribe un color (Azul, rojo, amarillo, negro, verde): 
<datalist id="listas">
    <option value="azul">
    <option value="rojo">
    <option value="amarillo">
    <option value="negro">
    <option value="verde">
</datalist>
 
<!-- Asociamos al input la datalist 'listas' -->
    <input name="color" list="listas">  <input type="submit" value="Enviar">
</form>

Atributos HTML5

min y max


Permite fijar los valores mínimos y máximos de los <input> con valor numérico o de fecha


<form name="formulario" id="formulario" action="ejemplo-min-max-html5.php" method="POST">
	<input type="date" name="dia" min="2000-01-01" max="2016-12-31">
	<input type="number" name="cantidad" min="1" max="100">
</form>

Atributos HTML5

multiple


Se pueden seleccionar varios ficheros o emails en el envío de formularios, es compatible con los input de tipo file o email


<input type="file" name="archivos" multiple="multiple" />
<input type="email" name="emails" multiple="multiple" />

Atributos HTML5

novalidate


Anula la validación de entradas de formularios


Novalidate: Se aplica a los <input> de formularios, no se validarán

Formnovalidate: Se aplica a la etiqueta <form>, ningún elemento HTML5 se validará al enviar el formulario


<form name="formulario" id="formulario" action="ejemplo-novalidate-html5.php" method="POST">
	Fecha de nacimiento (1-1-1900 a 1-4-2016): <input type="date" name="dia" min="1900-01-01" max="2016-04-01"  novalidate="true">
	<input type="submit" value="Enviar">
</form>
<form name="formulario2" id="formulario2" action="ejemplo-novalidate-html5.php" method="POST">
	Fecha de nacimiento (entre 1-1-1900 y 1-4-2016): <input type="date" name="dia" min="1900-01-01" max="2016-04-01"  novalidate="false">
        <input type="submit" value="Enviar">
</form>

Atributos HTML5

pattern


Permite delimitar mediante expresiones regulares el contenido insertado por el usuario en los inputs


<input type="text" name="pueblo" pattern="[A-Za-z]{4-16}">

Atributos HTML5

required


Permite establecer que un input de formulario sea de relleno obligatorio


<form action="ejemplo-required-html5.php" method="POST">
	Fecha de nacimiento: <input type="date" name="fechanac" required>
	<input type="submit" value="Enviar">
</form>

Atributos HTML5

step


Permite establecer el rango de intervalos para los valores de los los input de fecha y numérico


Edad: <input type="number" name="numero" step="5">
Fecha de nacimiento: <input type="date" name="fechanac" step="1">

Atributos HTML5

placeholder



Permite ver una leyenda dentro del <input>. Cuando el usuario comience a escribir sobre él este mostrará texto


input type="text" name="nombre" placeholder="inserta tu nombre">

/