2011-05-08 126 views
6

在一個表多種形式,這些形式持續變化的行的長度,但是這似乎不工作:是否可以在HTML表格中插入表單?

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

我認爲表中有一個明確的結構,這樣就可以不與其他結構交織,但是圍繞這個有一個整潔的工作嗎?

謝謝。

+0

Hmmmm,我不覺得有什麼。單獨的桌子是不可能的? – 2011-05-08 21:14:22

+2

表格用於顯示錶格數據。您應該使用CSS來佈置表單。你能給出更多的背景知道爲什麼你可能想要使用嵌入表格的表單嗎? – Ziggy 2011-05-08 21:29:05

+0

齊格:形式有一定的傾向*爲*表格... – SamB 2011-05-09 21:13:45

回答

0

不在<tr>的標籤。他們應該在<table>之外工作,或者在<td>之內工作。

0

如果您希望將它們放在多行上,那麼並不需要在一個表中放置兩個表單。表格越大,瀏覽器加載和顯示時間越長。相反,給各自形成自己的表並在表單標籤內的表標籤,就像這樣:

<form method="GET" action="foo.sh"> 
    <table> 
    </table> 
</form> 
+1

除了然後在每個表中的列不一定會相互對齊。這違背了使用表格的目的(用於對齊表格數據)。 – DanC 2012-07-03 01:49:09

2

不,你不能這樣做。我想你想要這樣做,使兩種形式在表中對齊,對嗎?

如果您允許在頁面上使用javascript,您可以在<td>元素內添加不同的文本框等,並將onchange事件處理程序添加到這些框中以填充實際表單中的相應(隱藏)字段。

+0

經過一番考慮後,我選擇了一個JavaScript路線..我已經在表格末尾種植了隱藏表格。這些表單包含所需的字段,並且一些java將它們的值更新爲表中的實際字段。 謝謝大家的幫助和建議! – mickwaffle 2011-05-08 22:38:08

5

號根據這份文件:http://www.w3.org/TR/html401/struct/tables.html#h-11.2.1 表中可能只有這些:

TABLE -- 
    (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)> 

但是你可以使用這樣的事情

<div class=table> 
    <form> 
    <div class=cell>...</div> 
    <div class=cell>...</div> 
    </form> 
</div> 

與風格:

div.table { display:table; } 
div.table > form { display:table-row; } 
div.table > form > div.cell { display:table-cell; } 
0

是!對HTML5沒有任何問題。 現在,表格標籤只是表格樣式規則的縮寫。

+0

你從哪裏閱讀了關於HTML5的內容? 我覺得這 http://www.w3.org/TR/html5/tabular-data.html#the-table-element是對什麼是允許的表裏面很清楚。 – 2011-05-08 21:50:02

+0

@ c-smile請閱讀:http://www.w3.org/TR/html5/common-dom-interfaces.html#collections-0 – cvsguimaraes 2011-05-08 22:03:13

+0

您是否在說表實現集合? c-smile鏈接中的HTMLTableElement顯然沒有實現集合。 – musaul 2011-05-08 22:44:19

1

這將是所有HTML中的問題......包括XHTML和HTML5。

XHTML table dtd ..

<!ELEMENT table (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>

相關問題