2012-05-10 43 views
1

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

<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

它们都与此类似。

+1

您得到了哪些验证错误? – David

+1

难道他们不告诉你为什么它没有验证? – Musa

+0

使用[验证程序](http://validator.w3.org/)。它会告诉你。 –

回答

1

休息是一种自行闭合的标签,即代替<br></br>你,你可以只使用<br/>

+0

它也可能是你的表单动作是空的。您可能需要添加一个动作或将其完全删除 – Keith

+0

谢谢! :) – Kieronboz

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

+0

嗨,你能推荐我在哪里可以了解有关表单的元信息和属性?仅供参考,形式只需要坐下,它不是一个功能,因为我们还没有在课程中学到! :) – Kieronboz

0

@Keith说什么,用<br/>代替<br></br>。另外,form[action]不能为空;即使你不使用它(即,如果你拦截JS提交的内容),你需要在那里有东西。通常是"#"

+0

谢谢我整理出来,虐待改变我的休息时间太谢谢 – Kieronboz

0

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

+0

Kieronboz可能打算3 <无线电>元素具有相同的名称属性。但不同的名称不会使HTML无效。 –

0

这是我从除了上面列出的其他问题验证看见

的元素表格属性行动

错误值:必须是非空。 IRI参考语法:任何 URL。例如:/ hello,#canvas或http://example.org/。字符 应该用NFC表示,空格应该以%20格式转义。

+0

谢谢我添加了一个动作 – Kieronboz

+0

它现在有效吗? – Jay

2

如果你想知道为什么不符合W3C验证,我建议你访问这个网站:

http://validator.w3.org/check

他们为什么这是错的很清楚。此外,看到他们的报告,这让我吃惊的浏览器可以使HTML不惜一切= P

编辑你留下了错误的感觉是因为在HTML,你应该附上一个块级元素文本和输入字段,例如div,p等。

+0

是的,HTML是一种黑客攻击。应该在十年前被抛弃。 MS并没有帮助他们拥有自己的版本,与其他版本不同。 –

+0

@HotLicks阿门;浏览器的宽恕几乎达到了神似的水平,让我怜惜他们的开发人员=/ –

+0

是的,我无法理解这个术语! :) – Kieronboz

0

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

您的代码片段大部分对应的已发布DTD是XHTML 1.0 Transitional。使用它,通过验证报告的唯一错误是这样(和相当不言自明):

所需的属性“行”未指定

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

这并不意味着标记否则会被罚款。有效性是一种正式的事情,并不意味着甚至是正确的,更不是质量。首先,使用<br></br>虽然在XHTML中正式生效,但违反了XHTML 1.0规范的着名Appendix C

“C.2。空元素

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