<!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>
Répondre
Regardez les messages d'erreur que vous obtenez lorsque vous essayez cela avec http://validator.w3.org
Outre un avertissement que vous n'avez pas spécifié un codage de caractères (et qu'il est en supposant donc UTF-8), l'erreur principale est qu'un <p>
n'est pas autorisé à contenir du contenu non-inline. Vous pouvez supprimer complètement les <p>
et </p>
ou les déplacer à l'intérieur du <form>
.
Quant au « pourquoi », il est parce que c'est la façon dont il est défini dans le schéma qui définit ce qui est et ce qui est pas valide XHTML. Si vous regardez this section of the XHTML definition, vous verrez que <p>
ne peut contenir que du texte ou des balises 'inline' (pas 'block').Cependant, un <form>
compte comme du contenu «en bloc» et non comme du contenu «en ligne». En d'autres termes, un formulaire peut contenir des paragraphes, mais un paragraphe ne peut pas contenir de formulaires.
+1 pour être la seule réponse (jusqu'à présent) pour expliquer réellement quel est le problème –
+1 pour la même raison ici aussi. Tout le monde est comme "oui, il ne valide pas selon validator.w3c.org –
Content-Type doit être déterminé uniquement par l'en-tête HTTP – pepkin88
Selon this, parce que:
ligne 8, colonne 44: type de document ne permet pas élément "forme" ici; l'un des "objet", "ins", "del", "carte" start-tag ✉ L'élément mentionné n'est pas autorisé à apparaître dans le contexte dans lequel vous l'avez placé; les autres éléments mentionnés sont les seuls qui sont tous deux autorisés et peuvent contenir l'élément mentionné. Cela pourrait signifier que vous avez besoin d'un élément contenant, ou peut-être que vous avez oublié de près d'un élément précédent.
Une cause possible de ce message est que vous avez tenté de mettre un élément de niveau bloc (tel que « p » ou « table ») à l'intérieur d'un élément en ligne (tel que « a », « durée ", ou " police ").
ligne 9, colonne 40: type de document ne permet pas "entrée" élément ici; manquant un de "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pré", "adresse", "fieldset", "ins", "del" start-tag input type = "submit" value = "Bonjour" L'élément mentionné ne doit pas apparaître dans le contexte dans lequel vous l'avez placé; les autres éléments mentionnés sont les seuls qui sont tous deux autorisés y et peut contenir les éléments mentionnés. Cela pourrait signifier que vous avez besoin d'un élément contenant , ou peut-être que vous avez oublié de fermer un élément précédent.
Une cause possible de ce message est que vous avez tenté de mettre un élément de niveau bloc (tel que « p » ou « table ») à l'intérieur d'un élément en ligne (tel que « a », « durée ", ou " police ").
+1 pour ce qui suit: "... vous avez tenté de placer un élément de niveau bloc (tel que" p "ou" table ") à l'intérieur d'un élément en ligne (tel que" a "," span "ou" police " ")." –
Vous ne pouvez pas mettre l'intérieur sous forme paragraphe. Ecrire comme ceci:
<body>
<form action="something.php" method="get">
<p>
<input type="submit" value="Hello"/>
</p>
</form>
</body>
Il a demandé _WHY_ il ne valide pas, pas comment le réparer. –
Essayez d'utiliser le W3C Markup Validator, qui dira ce qui est votre invalide avec la plupart (X) HTML et les documents CSS.
Je pense qu'il s'en rend probablement compte puisqu'il sait déjà qu'il ne valide pas. Il demandait pourquoi c'était invalide, pas si. –
Bien vu que le validateur du W3C explique assez bien pourquoi il est invalide, j'ai pensé que c'était la façon la plus informative de résoudre le problème. Il est préférable de dire à quelqu'un comment résoudre un problème, plutôt que de simplement lui donner la réponse. – DaveR
J'ai exécuté un test avec votre code HTML via validator.w3.org et le résultat est que vous devez échanger les balises P et FORM pour qu'il passe en tant que code HTML W3C valide.
<!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>
Il a demandé _WHY_ il ne valide pas, pas comment le réparer. –
- 1. c.erase (p) ne peut pas être compilé avec succès, pourquoi?
- 2. rendement: pourquoi je ne peux pas écrire: p test_method {} i.upcase
- 3. pourquoi le xhtml ne valide-t-il pas
- 4. Javascript ne fonctionne pas comme prévu, pourquoi?
- 5. JQuery validate plug in: Pourquoi ce menu de sélection ne validera-t-il pas()?
- 6. pourquoi ne pointeur sur un tableau ne retourne pas comme **
- 7. ASP.NET comme ValidationGroup utilisant JQuery validate plugin?
- 8. prédicats emboîtées dans xslt
- 9. XHTML ne validera pas && et <dans une fonction JavaScript
- 10. Pourquoi Read() ne fonctionne-t-il pas comme prévu?
- 11. Comme dans l'instruction CASE ne pas évaluer comme prévu
- 12. formes emboîtées dans ASP.NET MVC
- 13. XHTML Strict ne s'affiche pas correctement en mode Quirks
- 14. jquery changer innerhtml d'un P ne fonctionne pas
- 15. form_for Ressources emboîtées
- 16. Pourquoi UPPER() ne fonctionne pas dans MySQL?
- 17. Pourquoi jquery fadeIn() ne fonctionne pas avec .html()?
- 18. DllNotFoundException utilisant Mono P/Invoke: Pourquoi?
- 19. XHTML ne s'affiche pas dans IE6, 7, 8 ou FF3.5.1 - mais ok dans Firefox 3.0.1
- 20. pourquoi ce code ne fonctionne pas?
- 21. FilterExpression ne fonctionne pas? Pourquoi?
- 22. addEventListener & wmp ne fonctionne pas comme prévu
- 23. Pourquoi document.getelementbyId ne fonctionne pas dans Firefox?
- 24. jquery validate bind flou événement
- 25. str.startswith() ne fonctionne pas comme prévu
- 26. "LIKE" ne fonctionne pas comme prévu
- 27. Python .sort() ne fonctionne pas comme prévu
- 28. Pourquoi les tableaux 0d dans Numpy ne sont-ils pas considérés comme scalaires?
- 29. Pourquoi ce code "binding" ne fonctionne-t-il pas comme prévu dans JavaFX?
- 30. Django - AttributeError - objet « utilisateur » n'a pas d'attribut « validate »
Est-ce que la page de validation ne fait pas quelques suggestions? –