¿Los elementos de formulario están fuera de una etiqueta de FORM semántica html5?

Si tengo una etiqueta SELECT que filtrará una tabla en función de la elección del usuario, ¿la etiqueta SELECT debe estar en una etiqueta FORM (para ser HTML5 válido), si la funcionalidad resultante no funcionará si JS está deshabilitado (es decir, mostrar la tabla completa o un enlace 'más' en lugar de hacer un filtro del lado del servidor en la selección de la opción de acción / envío del formulario (podemos escribir la selección en JS para que desaparezca del marcado si JS está deshabilitado.

O todos los elementos del formulario deben estar en una etiqueta de formulario independientemente del uso (y, por lo tanto, un valor de atributo de 'acción' nulo).

Sé que HTML5 permite casi cualquier cosa, simplemente no pude encontrar una respuesta definitiva en W3, así que pensé en conocer tus pensamientos. Espero que tenga sentido. Salud.

preguntado el 21 de marzo de 11 a las 22:03

¿Cómo figura la semántica en esto? en.wikipedia.org/wiki/Semántica ¿Quisiste decir "válido" o "bien formado" [html5], quizás? -

3 Respuestas

Todos los controles de formulario se pueden utilizar en cualquier lugar donde contenido de redacción se espera, lo que significa que pueden aparecer en cualquier parte del cuerpo del documento. Si no necesita enviarlos de nuevo a un servidor, entonces no es necesario que estén asociados con un formulario, sin embargo, he notado que en algunos navegadores no puede aprovechar el funciones de validación de formularios a menos que los elementos puedan potencialmente enviarse.

Una característica nueva de HTML5 es que los controles de formulario ya no necesitan ser el hijo directo de un form elemento para ser enviado con ese formulario, el form atributo le permite especificar el id del formulario con el que se debe enviar el elemento.

respondido 14 nov., 14:23

Si bien robertc proporcionó los enlaces autorizados (y la mejor respuesta), aquí está la especificación HTML5 en la "Edición para autores web" (un poco más legible): dev.w3.org/html5/spec-author-view/… - jody tate

Parece que en HTML5 los elementos del formulario pueden estar fuera de un <form> etiquetar y seguir siendo válido;

<!DOCTYPE html>
<html>
<head>
<title>Just making this valid</title>
</head>
<body>

<select>
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
</select>

</body>

</html>

El código anterior se valida correctamente (menos los obvios errores de codificación de caracteres). No he leído la especificación HTML5 completa, sin embargo, el validador suele ser correcto en este tipo de cuestiones.

respondido 22 mar '11, 01:03

La especificación HTML5 específicamente permite <input>s (y otros elementos asociados a la forma) no tener un <form>:

Un elemento asociado a un formulario puede tener una relación con un <form> elemento, que se llama el elemento propietario del formulario. Si un elemento asociado al formulario no está asociado con un <form> elemento, se dice que su propietario de formulario es nulo.

¡Así que siéntete libre de usarlos donde tu corazón lo desee!

Respondido 25 Abr '18, 22:04

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.