0

I'm coding an email subscription form (api's proving a nightmare on their own) and I was wondering if it is possible to write a form across divs, as per below...

<div id="topsubscribe_label">STAY UP TO DATE, JOIN OUR MAILING LIST: </div>     

<form id="signup" action="<?=$_SERVER['PHP_SELF']; ?>" method="get">
<div id="subforminputs">
<input type="email" name="email" id="email" class="toptextinput" value="" placeholder="you@example.com"/><br />
</div>      

<div id="topsubscribe_submit">
<input type="submit" id="topregisterButton" name="submit" class="textinput" value="Subscribe" />
</form>         
</div>

Will this break the form? Is there another (simple) way to do this?

4

3 回答 3

3

你可以这样做

<div>
  <div>
  <form>
  </form>
  </div>
</div>

你也可以这样做

<form>
  <div>
  </div>
  <div>
  </div>
</form>

但你不能这样做

<form>
  <div>
</form>
  </div>

浏览器不会显示任何错误,您可能有不同的输出。每个浏览器都以不同的方式处理这些错误。

于 2013-05-24T16:21:27.520 回答
2

这是可以接受的:

<div>
  <form>
    <div><input /><input /></div>
    <div><input /><input /></div>
  </form>
</div>

这不是:

<div>
  <form>
    <input /><input />
</div>
<div>
    <input /><input />
  </form>
</div>

可能值得注意的是,第二个示例中的重叠标签对所有标签都无效;不仅仅是form标签。

于 2013-05-24T16:22:03.120 回答
1

如果你只是想对一些字段进行分组,你可以使用fieldsetelement.

于 2013-05-24T16:21:17.600 回答