2010-07-20 24 views
167

¿Es válido tener <input> sin que esté en un <form>?¿<input> está bien formado sin <form>?

Tengo un proceso para marcar algunos campos en páginas y acabo de encontrar una página con campos de entrada que no están marcados como esperaba.
Me tomó un tiempo, pero me di cuenta de que el proceso de obtener los elementos del formulario y luego obtener los campos es lo que hizo que se perdieran estos porque no hay forma.

+0

@Adriano - mi pensamiento exactamente. ¡simplemente pásalo y ve! –

+1

Seguro [validador w3c] (http://validator.w3.org/), realmente debería haber agregado que una explicación detrás de por qué sería bueno. –

+0

Quiero decir también que podría ser válido para algunas versiones de html, pero no para otras, y en ese caso, el validador es mucho más rápido que leer los estándares. –

Respuesta

161

<input> sin un <form>appears valid, sí (al menos para html 4,01, mira cerca del final de 17.2.1):

Los elementos utilizados para crear controles generalmente aparecen dentro de un elemento FORM , pero también puede aparecer fuera de de una declaración de elemento FORM cuando se utilizan para construir las interfaces de usuario . Esto se trata en la sección sobre eventos intrínsecos. Tenga en cuenta que los controles fuera de un formulario no pueden ser controles exitosos.

+0

Acabo de crear una etiqueta '' fuera de un formulario en Visual Studio 2010 y no tuve ningún problema con ella. Así que estoy de acuerdo que es extraño, incluso inútil, pero no ilegal. –

+0

Ta, tenía problemas para encontrar esa información –

+1

, ¿cuál es el punto de utilizar la forma y el nombre de entrada? todos podemos usar input con id, ¿no es eso más fácil para todos? –

1

Sí, puede tener una entrada válida sin un formulario.

+12

Bueno, podría haber agregado alguna evidencia detrás del 'sí'. O una aclaración de las versiones de HTML para las que esto es cierto. Aún así, no te hubiera degradado. –

+8

Entonces, con su razón de ser, ¿por qué tener SO en absoluto si el usuario puede simplemente ir a W3 y buscarlo él mismo? Tampoco te hubiera votado negativamente, pero tendría que aceptar que el que tenga más explicaciones de manera clara y concisa reciba el visto bueno, porque una explicación y la respuesta correcta son las más útiles aquí en SO. – Mattygabe

54

Comprobé lo siguiente con W3C validator y confirma que esto es válido.

<!DOCTYPE html> 
<html> 
<head> 
    <title>test</title> 
</head> 
<body> 
    <input type='text' /> 
</body> 
</html> 
-5

dudas emplear

document.getElementById('your_input_id').validity.valid 

para comprobar la validez de campo de forma dinámica.

+23

Eso no tiene nada que ver con la validez del marcado, en cambio es para la [API de validación de restricciones] (https://www.w3.org/TR/html5/forms.html#the-constraint-validation-api). La forma en que esta respuesta recibió 8 upvotes está más allá de mí. – Stijn

Cuestiones relacionadas