<!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>
回答
查看錯誤消息,當您嘗試與http://validator.w3.org
除此之外您還沒有指定一個字符編碼(以及它因此假設UTF-8)的警告,主要錯誤是,你能<p>
不允許包含非內聯內容。您可以完全刪除<p>
和</p>
,或者將它們移動到<form>
之內。
至於'爲什麼',這是因爲它是如何在模式中定義的,該模式定義什麼是和什麼是無效的XHTML。如果你看看this section of the XHTML definition,你會發現<p>
只允許包含文本或'inline'(而不是'block')標籤。然而,<form>
被視爲「塊」內容而不是「內聯」內容。
換句話說,表單可以包含段落,但段落不能包含表單。
+1是唯一的答案(到目前爲止)實際上解釋了什麼問題 – 2009-06-20 18:28:44
根據this,這是因爲:8
線,柱44:文件類型不 不允許元件 「形式」 這裏;缺少 其中一個「object」,「ins」,「del」,「map」 開始標記✉ 所提到的元素不允許 出現在您放置它的上下文中 ;另外提到的 元素是 這兩個元素中唯一允許的元素,並且可以包含提到的 元素。這可能意味着 您需要一個包含元素,或者 可能是您忘記了 關閉了上一個元素。
一個可能的原因此消息是 所嘗試把一個 塊級元素(諸如「p」或 「表」)的內聯元件 (如「a」的內部,「跨度「或 」font「)。
第9行第40列:文檔類型確實是 這裏不允許元素「輸入」; 缺少「p」,「h1」,「h2」,「h3」, 「h4」,「h5」,「h6」,「div」,「pre」, 「address」,「fieldset」 「ins」,「del」 start-tag input type =「submit」value =「Hello」提到的 元素不允許出現在 您放置的上下文中; 其他提到的元素是 只有那些允許在那裏 和可以包含提到的元素。 這可能意味着您需要一個包含元素的 元素,或者您可能已經忘記關閉以前的 元素的 元素。
一個可能的原因此消息是 所嘗試把一個 塊級元素(諸如「p」或 「表」)的內聯元件 (如「a」的內部,「跨度「或 」font「)。
+1:「...您試圖在內聯元素(例如」a「,」span「或」font「)中放置塊級元素(例如」p「或」table「) 「)。」 – 2009-06-20 18:37:28
你不能把表格放在段落內。寫這樣的:使用W3C Markup Validator,它會告訴
<body>
<form action="something.php" method="get">
<p>
<input type="submit" value="Hello"/>
</p>
</form>
</body>
他問_WHY_它沒有驗證,沒有如何解決它。 – 2009-06-20 18:38:00
嘗試的東西是最(X)HTML和CSS文件無效。
我認爲他可能意識到這一點,因爲他已經知道它沒有驗證。他在問爲什麼它是無效的,而不是。 – 2009-06-20 18:35:15
看到W3C驗證器很好地解釋了爲什麼它是無效的,我認爲這是解決問題最有效的方法。最好告訴某人如何解決問題,而不是僅僅給他們答案。 – DaveR 2009-06-21 10:33:51
我用你的HTML代碼通過validator.w3.org進行了一次測試,結果是你需要交換P和FORM標籤以便它作爲有效的W3C HTML傳遞。
<!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>
- 1. 爲什麼不xhtml驗證
- 2. 爲什麼不形成驗證工作?
- 3. 爲什麼這個xhtml不會被驗證? W3C驗證器
- 4. 嵌套形式驗證
- 5. 爲什麼這個XHTML表單不會被驗證?
- 6. 爲什麼這個xhtml表單不會被驗證?
- 7. 嵌套屬性:如果您使用reject_if,爲什麼要驗證嵌套模型?
- 8. 爲什麼不在CSS中嵌套?
- 9. XHTML:爲什麼我的嵌套UL無效?
- 10. autocomplete屬性未通過XHTML 1.0過渡驗證,爲什麼?
- 11. W3C驗證服務爲什麼說這是無效的XHTML?
- 12. 嵌套類中的不可訪問成員 - 爲什麼?
- 13. XHTML驗證:在序言中不允許使用字符「」。爲什麼?
- 14. 爲什麼Devise身份驗證的嵌套資源不起作用?
- 15. pyparsing不是嵌套列表...爲什麼?
- 16. 嵌套函數不工作,爲什麼?
- 17. 爲什麼:reject_if不能以嵌套形式工作?
- 18. Rails - 驗證複雜的嵌套形式
- 19. 驗證:爲元素「P」,這是不開
- 20. 爲什麼* p ++與* p + = 1不同?
- 21. 爲什麼我的嵌套CustomerViewModel爲空?
- 22. 爲什麼p大於p?
- 23. 爲什麼co-P = P
- 24. 爲什麼Linq2SQL生成嵌套查詢而不是使用JOIN?
- 25. 爲什麼CRTP不會造成無限嵌套?
- 26. 爲什麼要驗證IPAddress?
- 27. 爲什麼ConfigurationProperties未驗證?
- 28. 殼牌形式在這段代碼爲什麼不驗證
- 29. 爲什麼驗證不起作用? Django的形式
- 30. 爲什麼不會jQuery驗證工作?
不驗證頁面提出一些建議嗎? – 2009-06-20 17:15:35