Validador HTML que me da un error en el tipo de entrada de formulario, elemento no permitido en contexto

StackOverflow https://stackoverflow.com/questions/484614

  •  20-08-2019
  •  | 
  •  

Pregunta

Este es el código que tengo y que HTML Validator me está dando un error:

<input type="text" id="search" name="keywords" />
<input type="submit" value="Search" name="Submit" />

Aquí hay una captura de pantalla de error en HTML Validator ( completo tamaño ):

Captura de pantalla de error en el Validador HTML.

Este es el mensaje de error que recibo:

  

El elemento mencionado no puede aparecer en el contexto en el que lo ha colocado; los otros elementos mencionados son los únicos que están permitidos allí y pueden contener el elemento mencionado. Esto puede significar que necesita un elemento que lo contiene, o posiblemente que ha olvidado cerrar un elemento anterior.

     

Hay 2 tipos de elementos en el cuerpo de un archivo HTML, elementos en línea y de bloque. Una posible causa de este mensaje es que ha intentado colocar un elemento de nivel de bloque (como & Quot; & Lt; p & Gt; & Quot; o & Quot; lt; table > ") dentro de un elemento en línea (como " < a > " ;, " < !> lt; span > " ;, o " < font > ").

     

En la siguiente muestra, < font > La etiqueta es una etiqueta en línea que solo puede contener otras etiquetas en línea. Pero el & Lt; p & Gt; La etiqueta es una etiqueta de bloque. Entonces a & Lt; p & Gt; la etiqueta no puede estar contenida en < font > etiqueta.

Este es el bloque de html del que proviene:

<li>
    <form method="post" action="http://site.com/"  >
    <div class='hiddenFields'>
        <input type="hidden" name="ACT" value="19" />
        <input type="hidden" name="XID" value="90ee0994104d8ba87b6ef9b43e998fc8c89e0d9f" />
        <input type="hidden" name="RP" value="search/results" />
        <input type="hidden" name="NRP" value="" />
        <input type="hidden" name="RES" value="" />
        <input type="hidden" name="status" value="" />
        <input type="hidden" name="weblog" value="forms|alumni_distinguished|housing_faq|international_faq" />
        <input type="hidden" name="search_in" value="everywhere" />
        <input type="hidden" name="where" value="all" />
        <input type="hidden" name="site_id" value="1" />
    </div>

    <input type="text" id="search" name="keywords" /> <input type="submit" value="Search" name="Submit" />
    </form>
</li>
¿Fue útil?

Solución

En HTML4 / XHTML1, no puede poner contenido en línea directamente en un elemento form. HTML5, por otro lado, levanta ese requisito.

Por lo tanto, si el error de validación le molesta (hay cosas peores ...), agregue un elemento p o div alrededor de los últimos dos input s.

Otros consejos

No ha mencionado con qué versión HTML se valida este validador. Suponiendo que no es XTHML, la etiqueta de entrada no se debe cerrar. El uso de & Quot; / & Gt; & Quot; implica que está proporcionando una etiqueta de cierre.

Para obtener más información: Referencia

Sin embargo, esta restricción no se aplicaría a XHTML, que requiere que todas las etiquetas estén cerradas. (o tal vez debería decir que la restricción de que todas las etiquetas deben cerrarse se aplica solo en XHTML) ;-)

Creo que el problema es que las entradas están en un elemento <li>, que por defecto no es un elemento de nivel de bloque . Esta suele ser la causa de tales errores 'fuera de contexto'. No dañará su página en absoluto, pero evite que se valide.

¿Está utilizando HTML o XHTML

  

En HTML, la etiqueta <input> no tiene fin   etiqueta.

     

En XHTML, la etiqueta <=> debe ser   debidamente cerrado.

http://www.w3schools.com/tags/tag_input.asp

¿Hay un elemento en línea no cerrado antes del código que proporcionó? Lista de elementos en línea: http://htmlhelp.com/reference/html40/inline.html (para html4)

ej. [código]

[/ code]

ajuste la etiqueta de entrada dentro de una

etiqueta

y asegúrese de cerrar la etiqueta de entrada como se indicó anteriormente.

Esto debería validar.

Marcar

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top