Pero aún hay más. Los campos pueden agruparse, bastante útil si quieres tomar información sobre algo con varios apartados, por ejemplo:
<form action="demo.php" method="post">
<fieldset>
<legend>Asistente:</legend>
Nombre: <input name="nombre" type="text"><br>
Apellido 1º: <input name="apel1" type="text"><br>
Apellido 2º: <input name="apel2" type="text">
</fieldset>
<input type="submit" name="submit" id="submit" value="Enviar">
</form>
Este código crea este formulario
Los datos quedan agrupados en el campo agrupado Asistente, incluso queda con un leve marco Las etiquetas claves son legend, para darle un nombre al grupo y fieldset que conforma el grupo propiamente dicho.
<form action="demo.php">
Calificación
<input type="range" name="nota" min="0" max="10">
<input type="submit">
</form>
Como ves este sistema es más gráfico.
Los datos no se procesan en el formulario, pero si tecleas un valor fuera del rango te dará un aviso.
Y hablando de rangos, mira el uso de step
<form action="demo.php">
Cantidad de libros, a partir de 1 van en cajas de 5:
<input type="number" name="cantidad" min="1" max="100" step = "5">
<input type="submit">
</form>
Escribe algún valor en este campo
Como ves si escribes 5 o 4 o 14 no vale, pero si valen 6, 11 (6+5), 16 (11+5). También puede usarse en los ejemplos anteriores. Pruébalo.