Pregunta

Realmente 2 preguntas. ¿Por qué estos bits de código no se validan a XHTML 1.0 Strict? XHTML 1.0 Strict es un requisito del proyecto.

La línea 2 causa el problema

  El tipo de documento

no permite el elemento " input " aquí; falta uno de " p " ;, " h1 " ;, " h2 " ;, " h3 " , " h4 " ;, " h5 " ;, " h6 " ;, " div " ;, < !> quot; pre " ;, " address " ;, " fieldset " ;, " ins " ;, " del " etiqueta de inicio.

<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="max_file_size" value="1048576" />
<table><tr><td><b>Image location: </b></td><td><input type="file" name="file" size="30"/></td></tr>
<tr><td><b>Caption: </b></td><td><input type="text" name="caption" size="30"/></td></tr>
<tr><td><input name="submit" type="submit" value="Upload" /></td><td>*(png, jpeg, jpg and gif files &lt; 1mb)</td></tr></table>
</form>

Y para la línea 2 y 3

  El tipo de documento

no permite el elemento " input " aquí; falta uno de " p " ;, " h1 " ;, " h2 " ;, " h3 " , " h4 " ;, " h5 " ;, " h6 " ;, " div " ;, < !> quot; pre " ;, " address " ;, " fieldset " ;, " ins " ;, " del " etiqueta de inicio.

<form action="#">
    <input type="text" size="30" name="query"  value="" onkeypress="return disableEnterKey(event)" />
    <input type="button" name="searchButton" value="Search" onclick="loadResults(this.form)" />
</form>
¿Fue útil?

Solución

Necesita poner sus entradas de formulario en < fieldset > u otra etiqueta de bloque. < input > los elementos son elementos de formulario en línea , y los elementos en línea pueden no aparecer en un contexto de bloque. Probar

<fieldset>
   <input ... />
<fieldset>

Otros consejos

Como dice el mensaje, no puede tener el elemento de entrada como hijo directo del formulario. Debe estar contenido dentro de uno de & Quot; p & Quot ;, & Quot; h1 & Quot ;, & Quot; h2 & Quot ;, & Quot; h3 < !> quot ;, " h4 " ;, " h5 " ;, " h6 " ;, " div " ;, " pre " ;, " address " ;, " fieldset " ;, " ins " , " del " ;.

La solución más simple puede ser ponerlos dentro de " p " ;, " div " o " conjunto de campos " elementos.

XHTML estricto requiere que no coloque elementos de entrada directamente dentro de los formularios; puede corregir los errores colocando sus entradas en cualquiera de los elementos de nivel de bloque sugeridos por el validador.

Pruebe algo como esto:

<form action="#">
    <div>
        <input type="text" size="30" name="query"  value="" onkeypress="return disableEnterKey(event)" />
        <input type="button" name="searchButton" value="Search" onclick="loadResults(this.form)" />
    </div>
</form>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top