在FORM中使用DIV是否正确?

我只是想知道你在考虑在FORM-tag里面的DIV-tag?

我需要这样的东西:

<form> <input type="text"/> <div> some </div> <div> another </div> <input type="text" /> </form> 

FORM使用DIV是否是一般的做法,或者我需要不同的东西?

这完全没问题。

form将只提交其inputtypes控件(*也TextareaSelect等)。

你无需担心formdiv

<form>标签内使用DIV是完全可以接受的。

如果您查看默认的CSS 2.1样式表 , divp都在display: block类别中。 然后查看表单元素的HTML 4.01规范,它们不仅包含<p>标记,而且包含<table>标记,所以当然<div>将符合相同的条件。 文档中的表单里还有一个<legend>标签。

例如,下面以严格模式通过HTML4validation:

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <META http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Test</title> </head> <body> <form id="test" action="test.php"> <div> Test: <input name="blah" value="test" type="text"> </div> </form> </body> </html> 

你可以在表单中使用一个<div> – 这里没有问题…. 但是如果你打算使用<div>作为input的标签dont … label是一个更好的select:

 <label for="myInput">My Label</label> <input type="textbox" name="MyInput" value="" /> 

将<input>作为<form>的直接子对象是错误的

顺便说一句,<input / >在某些文档types上可能会失败

http://validator.w3.org/check检查它;


文档types不允许元素“INPUT”在这里; 缺less“P”,“H1”,“H2”,“H3”,“H4”,“H5”,“H6”,“PRE”,“DIV”,“ADDRESS”开始标记

<input type =“text”/>

所提及的元素不允许出现在您放置它的上下文中; 其他提到的元素是唯一允许的元素,可以包含元素。 这可能意味着您需要一个包含元素,或者您可能忘记closures以前的元素。

这个消息的一个可能的原因是,你试图把一个块级元素(如“<p>”或“<table>”)放入一个内联元素(例如“<a>”,“<span> “或”<font>“)。

你的问题没有解决你想要放在DIV标签中,这可能是你收到一些不完整/错误答案的原因。 事实是,正如Royi所说,你可以在你的表格中放入DIV标签。 例如,你不想为标签做这个事情,但是如果你有一个checkbox的表单,你想要把它分成三列,那么一定要用DIV标签(或者SPAN,HEADER等等)来完成你想要实现的外观和感觉。

定义和用法

标签定义HTML文档中的一个分区或一个分区。

该标签用于将块元素分组以使用样式进行格式化。 http://www.w3schools.com/tags/tag_div.asp

也DIV – MDN

HTML元素(或HTML Document Division Element)是stream内容的通用容器,它本质上不代表任何东西。 它可以用于对样式进行分组(使用类或id属性),或者因为它们共享属性值(如lang)。 只有在没有其他语义元素(如or)适用时才应该使用它。

你可以使用div里面的表单,如果你正在谈论使用div而不是table,那么Google就是关于Tableless的网页devise

正如其他人所说,这一切都很好,你可以做得很好。 就我个人而言,我试图用我的元素来保持一种层次结构,其中div是最外层的父元素。 我尝试只使用table p ulspan内的forms。 只是让我更容易跟踪我的网页内的父母/子女关系。

绝对不! 它会渲染,但不会validation。 使用标签。

这是不正确的。 这是无法访问。 你在一些网站上看到它,因为一些开发者只是懒惰。 当我招聘开发人员时,这是我在应聘工作中检查的第一件事情之一。 forms是讨厌的,但花时间学习正确地做

不,这不对

总是滥用<div>标签来创build网页布局。 它的象征性目的是在页面中划分一个部分/部分,以便可以添加或应用单独的样式。 [w3schools文件] [W3C]

这很大程度上取决于你的someanother有什么。

HTML5,具有更多的逻辑意义标签,而不是有简单的布局标签。 headernavaside一切都有它自己的语义。 并针对<div>