2009-03-18 7 views
17

No sé nada sobre DTD.¿El conjunto de campos debe estar en un formulario?

http://www.bls.gov/oco/ocos292.htm

Ver cómo se utiliza de campos fuera del formulario de esta página y que es genial! Me encanta el estilo!

+1

Agradable respuesta [aquí] (http://stackoverflow.com/questions/9812898/is-it-wrong-to-use-the-fieldset-tag-without-form-tag) –

+1

Desafortunadamente, cinco años después, la página vinculada se ha ido. Tal vez alguien quisiera crear un ejemplo mínimo que muestre lo que se quiso decir. –

Respuesta

26

Creo que la pregunta y la respuesta elegida en esta pregunta son engañosas. Si un form tiene o no un fieldset, y si un fieldset tiene que estar en un form son dos preguntas diferentes con dos respuestas diferentes.

De acuerdo con la especificación HTML4.01, un fieldset es un elemento válido dentro de un formulario, pero como es un elemento estándar de nivel de bloque, también es aceptable en otra parte: http://www.w3.org/TR/html401/interact/forms.html#h-17.10 http://www.w3.org/TR/html401/sgml/dtd.html#block

que pueda sin embargo, no imagine un caso de uso en el que se haría esto, a menos que esté usando el fieldset para decorar, lo que sería un uso incorrecto.

Una forma sin embargo, no requiere de un conjunto de campos: http://www.w3.org/TR/html401/interact/forms.html#h-17.3

+2

Ejemplo de uso correcto: imagina que quieres tener un formulario por cada entrada y envía esos formularios al cambiar la entrada. Si desea agrupar esas entradas, debe poner elementos 'form' dentro de conjuntos de campo. – skalee

+2

No hay nada en la especificación que AFAI pueda ver que indique que usar fieldset para agrupar información sea un uso incorrecto, tanto en términos de sintaxis como de semántica. Por ejemplo, si necesita mostrar tanto una dirección de envío como una de facturación, es una excelente manera de colocar un borde alrededor de cada una e insertar un "Envío" o "Facturación" en el borde para distinguir el contexto de cada una. – AaronLS

+1

¿Sería semánticamente aceptable tener un formulario dentro de un fieldset? –

1

Sí, porque el elemento fieldset se usa para agrupar campos de formulario relacionados.

2

No, no necesita un fieldset en un formulario.

+5

¡Esa no es la pregunta! La pregunta es si puede usar un elemento fieldset fuera de un elemento de formulario. –

+0

@John: En realidad, no hay duda. Al menos no en el cuerpo del mensaje. Y la respuesta de Peter responde eso muy bien. – Cerebrus

+6

@Cerebrus: la pregunta está en el título y esta respuesta no responde la pregunta. – mbillard

4

Si se pone un conjunto de campos fuera de una forma, la página valida, pero no veo ninguna buena razón para hacerlo, y si usted lee la xhtml 1.0 DTD se encuentran este comentario en la sección de campos:

el elemento de campos se utiliza para campos de formulario grupo. Solo debe haber un elemento de leyenda en el contenido y, si está presente, solo debe estar precedido por espacios en blanco.

0

No tiene que ser dentro de un formulario, pero es mejor que sea al menos relacionado con un formulario con form="[form_ID]".

Un caso de uso válido es cuando tiene varios conjuntos de controles que se extienden a lo largo de piezas de contenido sin forma. En este caso, normalmente tendrías que poner todo, relacionado o no, dentro del formulario (incorrecto) o repetir la misma forma una y otra vez (raro).

Considerando que simplemente vincular todos los conjuntos de campos a un solo formulario es mucho más fácil.

Ejemplo: una prueba o encuesta o algo que requiere un poco de retroalimentación después de cada sección.

3

Choque porque nadie dio un caso de uso válido para un conjunto de campos sin formulario.Una razón válida para usar un conjunto de campos sin formulario es cuando usa las entradas para recopilar información para una visualización dinámica. Cada cambio de una entrada hace una diferencia en la información que se muestra. No tiene sentido completar un formulario y hacer clic en enviar. Podrías poner un formulario alrededor del fieldset, pero sería inútil. El fieldset, sin embargo, agrupa visualmente las entradas utilizadas para controlar la pantalla (o juego o lo que sea).

+0

Esto es para lo que lo estoy usando. Escribí una calculadora que en realidad no se envía a un servidor. Da salida a algunos campos de texto. Adorne el fieldset para hacer que los campos se destaquen. Utilizo campos de texto en lugar de texto normal para que puedan seleccionarse fácilmente en el móvil. – Dex

0

Utilicé un conjunto de campos fuera de un formulario para agrupar los filtros de datos jquery personalizados. Tenía varios elementos desplegables "seleccionar" en el conjunto de campo, cada uno para una categoría diferente de filtrado. Tuve onchange eventos adjuntos a cada menú desplegable para que cuando se seleccionaba algo, las filas en la tabla de datos se filtraran en consecuencia. Las etiquetas de formulario reales realmente no parecen necesarias hoy en día con javascript/jquery.

Cuestiones relacionadas