1

嗨,最近我开始了一门课程,我已经能够解决我所有其他验证错误,但我不明白为什么这不会用 w3 验证?

<div id="conform">
<form method="post" action="" id="form1">
 Name:  <input type="text" name="first_name" /><br></br>
Subject: <input type="text" name="department" id="department"/><br></br>
    Department:
     Sales  <input type="radio" name="red" id="red"/>
     Support    <input type="radio" name="amber" id="amber"/>
     Other  <input type="radio" name="red" id="green"/><br></br>
     Content:   <textarea name="details" id="messagedetails" cols="30">
     </textarea><br></br>
     <input type="submit"  value="Submit"/>
</form>
</div>

如果有人可以向我解释这个..谢谢

嗨,我应该补充一下,这些是我遇到的主要错误;http://puu.sh/u1Oo

他们都与此相似。

4

7 回答 7

2

如果你想知道为什么它不能通过 w3c 验证,我建议你访问这个网站:

http://validator.w3.org/check

他们非常清楚为什么这是错误的。另外,看到他们的报告,我很惊讶浏览器完全可以理解 HTML =p

编辑您留下的错误是因为在 HTML 中您应该使用块级元素(例如 div、p 等)将文本和输入字段括起来。

于 2012-05-10T21:49:09.190 回答
1

break 是一个自闭合标签,也就是说,<br></br>你可以只使用<br/>

于 2012-05-10T21:43:23.140 回答
0

您没有发布文档类型,所以我将假设 HTML5。

  1. 它缺少语义标记,例如元信息和必需的属性。
  2. 结果没有位置(如果这是在做遗留回发,则可能不适用)
  3. 见原因 1 和 2

更新

有关上述要点,请参阅以下链接:

http://www.html5rocks.com/en/tutorials/forms/html5forms/

http://www.w3schools.com/html5/html5_form_attributes.asp

http://www.w3schools.com/html5/html5_reference.asp

http://net.tutsplus.com/tutorials/html-css-techniques/how-to-build-cross-browser-html5-forms/

http://www.video2brain.com/en/videos-13589.htm

https://developer.mozilla.org/en/HTML/Forms_in_HTML

于 2012-05-10T21:47:10.397 回答
0

@Keith 所说的,使用<br/>而不是<br></br>. 另外,form[action]不能为空;即使你不使用它(即如果你拦截了 JS 的提交),你也需要有一些东西在里面。通常是"#".

于 2012-05-10T21:47:12.497 回答
0

您的单选按钮应该具有相同的名称

于 2012-05-10T21:47:28.920 回答
0

这是我从验证器中看到的,除了上面列出的其他问题

元素表单上属性操作的错误值:必须为非空。IRI 引用的语法:任何 URL。例如:/hello、#canvas 或http://example.org/。字符应在 NFC 中表示,空格应转义为 %20。

于 2012-05-10T21:48:11.540 回答
0

有效性是非常相对的:它意味着符合称为文档类型定义 (DTD) 的形式化语法定义,至少在包括 XHTML 在内的经典 HTML 中(HTML5 草案对有效性有自己的想法)。

您的代码片段主要对应的已发布 DTD 是 XHTML 1.0 Transitional。使用它,验证器报告的唯一错误是这个(而且不言自明):

未指定必需的属性“行”

 Content:   <textarea name="details" id="messagedetails" cols="30">

这并不意味着标记会很好。有效性是一种形式的东西,并不意味着正确性,更不意味着质量。一方面,使用<br></br>,虽然在 XHTML 中正式有效,但违反了(不)著名的 XHTML 1.0 规范附录 C :

“C.2. 空元素

在空元素的尾随 / 和 > 之前包含一个空格,<br />例如<hr /><img src="karen.jpg" alt="Karen" />。此外,对空元素使用最小化的标记语法,例如,因为XML 允许 <br />的替代语法在许多现有用户代理中会给出不确定的结果。”</p><br></br>

于 2012-05-11T04:48:01.410 回答