2009-12-31 33 views
5

下面是有效的HTML嗎?我特別想知道的是<form>標籤的位置。是<form>有效通過<tr>?

<table> 
    <form> 
     <tr> 
      <td> 
       <input id="txt" type="text"></input> 
      </td> 
      <td> 
       <input id="txt" type="text"></input> 
      </td> 
      <td> 
       <input type="submit"></input> 
      </td> 
     </tr> 
    </form> 
</table> 
+1

我覺得這樣擺在桌子之間不合邏輯。如何使用窗體包裝整個表? =) – mauris 2009-12-31 09:02:35

回答

11

我推薦使用w3c驗證器http://validator.w3.org/。而且沒有其無效:-)

+1

我想給你100 upvotes爲此...大多數開發人員忽略了這種非常有用的驗證方式:-( – bastianneu 2009-12-31 09:09:41

+0

非常有用,謝謝:) – willem 2010-01-04 08:08:41

8

這是無效的。我猜你想要刪除窗體元素的默認填充。這是通過CSS來實現更好:

form { 
    padding:0; 
    margin:0; 
} 

<form style="padding:0;margin:0;"> 

你的方法,曾是很常見的刪除默認的形式填充(CSS之前走紅)。現在你應該把表格標籤放在桌子外面。你最好不要在這裏使用桌子,但這不是問題,所以我會讓它滑動。 ;)

+0

這應該被標記爲答案。 – 2009-12-31 09:13:47

+0

或者他可能只想跨越一個表跨越一個表使用多個表單?他可能更適合使用div來實現這一點。 – 2009-12-31 10:24:32

+1

@Ivan - 應該使用Javascript,將值賦給隱藏表單並提交,因爲使用多個相同的表單沒有意義,因爲每頁只能提交一個表單。他可以爲該行分配一個id並用它來識別它。 – 2009-12-31 10:55:07

3

不,這不是有效的,TABLE只能包含TBODYTHEADTFOOTCAPTIONCOLCOLGROUP。如果您使用的是XHTML,那麼您還可以將tr放在table的內部。

+0

表元素可以具有的唯一子元素是標題,col,colgroup,tbody,thead和tfoot。 (XHTML將tr元素添加到該列表中)。 th元素是不可接受的。 – Quentin 2009-12-31 09:03:13

+0

是的,我的意思是TR :) – willem 2009-12-31 09:03:54

+0

我拼錯TH,我修正了這一點,並添加了所有其他元素(必須檢查文檔)。由於他沒有指定他使用的是什麼版本的HTML,所以我在這個lis中加入了TR: – 2009-12-31 09:05:03

2

號見:http://www.w3.org/TR/html4/struct/tables.html#edef-TABLE

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

<form>元素可以出現在所有的地方,你可以有block內容。所以<form>可以在<body>,<blockquote>,<noscript>(奇怪的還在<map>)。由於block還可以在flow去,它也可能出現在<div><ins><del><dd><li><td><th>

+1

表單不能出現在窗體或按鈕中,它們被明確排除:'<!ELEMENT FORM - - (%block; | SCRIPT)+ - ( FORM) - 交互式窗體 - >'和'<!ELEMENT BUTTON - - (%flow;)* - (A |%formctrl; | FORM | FIELDSET) - 按鈕 - >' – Quentin 2009-12-31 09:12:14

+0

感謝David - 對我的監督。謝謝! – 2009-12-31 10:16:51

-3

這不是正確的HTML,但它有時做就失去了空行。

相關問題