【问题标题】:How put form into two td elements?如何将表单放入两个 td 元素?
【发布时间】:2011-06-25 21:17:53
【问题描述】:

假设我有以下结构

<table>
     <tr>
         <td>
             <input type="text" name="name" />
         </td>
         <td>
             <input type="submit" name="submit" />
         </td>
     </tr>
... 
</table>

我需要在每一行都有表单,但是因为我的输入在其他&lt;td&gt;元素中,我不知道如何放置&lt;form&gt;元素(当然我可以使用colspan="2"并放置表单进入它,但我需要另外两个 &lt;td&gt; 元素)。

我该如何解决这个问题?

更新:我不想使用 Javascript 来解决这个问题 :)

【问题讨论】:

    标签: html forms html-table


    【解决方案1】:

    只需将标签放在桌子周围:

    <form action="...">
      <table>
        ...
      </table>
    </form>
    

    此表单将“处理”表格内的所有输入字段。

    【讨论】:

    • 我在每一行(在每个 元素中)都有表单元素,正如我所说:)
    • 是的,但它们是否都属于同一种形式? (所有输入值都将由同一个“动作”处理?)
    • 不,它们是另一种形式(动作相同,但值不同)
    • 我不确定您是否犯了一个简单的设计错误。您确定需要多个
      吗?一个表单有多个输入字段没问题(其实是常用的方式)
    • 每一行都有自己的表单。例如:当用户提交表单N1时,product_A被添加到他的购物车中,当他提交表单N2时,product_B。如果有办法以单一形式做到这一点,我会很乐意这样做:)
    【解决方案2】:

    最佳解决方案:使用 div 代替表格。

    其他解决方案,为每一行创建一个单独的表。这样,您可以将每个表格放在单独的表单中,并将输入字段放在 td-s 中,这样它们也会在表单中。

    【讨论】:

      【解决方案3】:

      您可以制作一个表格,在表格单元格中创建一个表格,然后在表格中创建另一个表格:

      <table>
          <tr><td>
              <form>
                  <table>
                      <tr><td>
                          ....
                      </tr></td>
                  </table>
              </form>
          </tr></td>
      </table>
      

      我很确定,如果表单不按顺序相互跟随,即“分配”输入到表单,则不可能在表单中混合和匹配输入。

      【讨论】:

        猜你喜欢
        相关资源
        最近更新 更多
        热门标签