<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>A webpage</title>
</head>
<body>
<p>
<form action="something.php" method="get">
<input type="submit" value="Hello"/>
</form>
</p>
</body>
</html>
Respuesta
mirada a los mensajes de error que se obtiene cuando se intenta que con http://validator.w3.org
Aparte de una advertencia de que no se ha especificado una codificación de caracteres (y que es, por tanto, asumiendo UTF-8), el error principal es que un <p>
no puede contener contenido no en línea. Puede eliminar <p>
y </p>
por completo o moverlos dentro de <form>
.
En cuanto a 'por qué', es porque así es como se define en el esquema que define lo que es y lo que no es XHTML válido. Si mira this section of the XHTML definition, verá que <p>
solo puede contener texto o etiquetas "en línea" (no "bloqueadas").Sin embargo, un <form>
cuenta como contenido 'en bloque' no como contenido 'en línea'.
En otras palabras, un formulario puede contener párrafos, pero un párrafo no puede contener formularios.
+1 por ser la única respuesta (hasta ahora) para explicar realmente cuál es el problema –
+1 por la misma razón aquí también. Todos los demás son como "sí, no valida de acuerdo con validator.w3c.org –
Content-Type debe determinarse solo por el encabezado HTTP. – pepkin88
Según this, porque:
línea 8, columna 44: tipo de documento no no permite elemento "forma" aquí; falta uno de "objeto", "ins", "del", "mapa" etiqueta de inicio ✉ El elemento mencionado no está permitido 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 podría significar que necesita un elemento contenedor, o , posiblemente, que ha olvidado cerrar un elemento anterior.
Una posible causa de este mensaje es que ha intentado poner un elemento a nivel de bloque (como "p" o "mesa" ) en el interior de un elemento en línea (tales como "a", "lapso ", o " fuente ").
Línea 9, Columna 40: tipo de documento no no permite el elemento "entrada" aquí; falta uno de "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre", "dirección", "fieldset", "ins", "del" etiqueta de inicio input type = "submit" value = "Hello" El elemento mencionado no tiene permitido 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 podría significar que necesita un elemento que contiene , o posiblemente que ha olvidado cerrar un elemento anterior.
Una posible causa de este mensaje es que ha intentado poner un elemento a nivel de bloque (como "p" o "mesa" ) en el interior de un elemento en línea (tales como "a", "lapso ", o " fuente ").
+1 para lo siguiente: "... ha intentado colocar un elemento de nivel de bloque (como" p "o" tabla ") dentro de un elemento en línea (como" a "," span "o" font ") ")." –
No puede poner el formulario dentro del párrafo. Escribe así:
<body>
<form action="something.php" method="get">
<p>
<input type="submit" value="Hello"/>
</p>
</form>
</body>
Preguntó _WHY_ no valida, no cómo solucionarlo. –
intente utilizar el W3C Markup Validator, que le dirá a su lo que no es válido con la mayoría de los documentos (X) HTML y CSS.
Creo que probablemente se da cuenta de esto porque ya sabe que no es válido. Él preguntaba por qué no era válido, no si. –
Bueno, ya que el validador W3C explica muy bien por qué no es válido, pensé que era la forma más informativa de resolver el problema. Es mejor decirle a alguien cómo resolver un problema, en lugar de simplemente darles la respuesta. – DaveR
Ejecuté una prueba con su código HTML a través de validator.w3.org y el resultado es que necesita intercambiar las etiquetas P y FORM para que pase como HTML W3C válido.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>A webpage</title>
</head>
<body>
<form action="something.php" method="get">
<p>
<input type="submit" value="Hello"/>
</p>
</form>
</body>
</html>
Le preguntó a _WHY_ no valida, no cómo solucionarlo. –
- 1. ¿Por qué Javadoc genera XHTML no conforme?
- 2. anidada atributos no aparecer en forma sencilla
- 3. ¿Por qué JAXB no quiere validar
- 4. Por qué/cuándo usar (!! p) en lugar de (p! = NULO)
- 5. ¿Por qué target = "_ blank" no es recomendable usar con XHTML?
- 6. XHTML estricto: etiqueta br dentro de la etiqueta p
- 7. ¿Por qué el compilador requiere `delete [] p` versus` delete p [] `?
- 8. ¿Por qué * p ++ es diferente de * p + = 1?
- 9. ¡La forma anidada no se muestra!
- 10. ¿Por qué no funciona "set -P" después de una tubería?
- 11. ¿Por qué la altura del iframe 100% no funciona en una página XHTML?
- 12. Forma anidada con clip
- 13. CodeIgniter: validar forma array no trabajar
- 14. ¿Por qué XHTML 1.0 Transitional es tan popular?
- 15. ¿Por qué debería validar formularios usando javascript?
- 16. ¿Qué es "p" en Ruby?
- 17. DTD oficiales XHTML 1.1 contra esquemas XHTML 1.1 XML oficiales
- 18. ¿Qué significa "p" en "javap"?
- 19. ¿Por qué son estándares separados HTML5 y XHTML 2?
- 20. ¿Por qué es útil un puntero de punto a volátil, como "volatile int * p"?
- 21. ¿Por qué no se implementa JML como anotaciones en Java?
- 22. ¿Por qué no hay destrucción en forma de def?
- 23. ¿Por qué no hay forma de deshacer "usar" en C++?
- 24. ¿Por qué no usar GPU como CPU?
- 25. ¿Cómo puedo usar ampersands en CSS dentro de un documento XHTML y todavía validar?
- 26. ¿Por qué una clase no puede extender su propia clase anidada en C#?
- 27. MSBuild.exe no acepta ni/p: DefinineConstants nor/p: PreprocessorDefinitions
- 28. En Android, ¿qué significa la dimensión% p?
- 29. jQuery Validate: cómo validar un elemento que no forma?
- 30. Primefaces p: CommandButton con acción no llamada
¿La página de validación no hace algunas sugerencias? –