2011-07-15 26 views
8

Cách nào hợp lệ (nếu có) để thêm biểu mẫu vào các hàng trong bảng?Thêm biểu mẫu vào các hàng trong bảng

Tôi có tình huống sau đây:

<table> 
    <tr> 
    <td><input type="text" name="q"></td> 
    <td><input type="text" name="a"></td> 
    <td><input type="submit" name="submit" value="Submit"></td> 
    </tr> 
    <tr> 
    <td><input type="text" name="q"></td> 
    <td><input type="text" name="a"></td> 
    <td><input type="submit" name="submit" value="Submit"></td> 
    </tr> 
    <tr> 
    <td><input type="text" name="q"></td> 
    <td><input type="text" name="a"></td> 
    <td><input type="submit" name="submit" value="Submit"></td> 
    </tr> 
</table> 

Làm thế nào tôi có thể thêm một yếu tố hình thức và vẫn có HTML hợp lệ?

<table> 
    <form> 
    <tr> 
     <td><input type="text" name="q"></td> 
     <td><input type="text" name="a"></td> 
     <td><input type="submit" name="submit" value="Submit"></td> 
    </tr> 
    </form> 
</table> 

là không hợp lệ (ít nhất tôi nghĩ rằng đó là)

Trả lời

4

Quấn bảng của bạn bên trong yếu tố hình thức:

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

Nhưng thậm chí tốt hơn: Xây dựng hình thức của bạn mà không có bàn nếu có thể.

+5

Tại sao tôi không muốn sử dụng các bảng cho dữ liệu dạng bảng? – PeeHaa

+0

Trong ví dụ cụ thể của bạn nó là ok cho gói một bảng bên trong một hình thức. Mặt khác, bạn có thể mất thông tin hoặc người dùng của bạn có thể bị lẫn lộn, bởi vì nếu họ đang nhập nhiều hơn một hàng tại một thời điểm, dữ liệu này sẽ bị mất! –

+3

Tôi đã thiết lập trang demo để cho bạn thấy vấn đề của bạn: http://tableinsideform.heroku.com/ –

0

Bàn và các hình thức là những khái niệm riêng biệt trong HTML. Đôi khi mọi người lẫn lộn chúng với nhau. Sự nhầm lẫn về khái niệm thường đi kèm với việc đánh dấu nhầm lẫn. Mặt khác, các bảng và biểu mẫu có thể được "trộn lẫn" theo nghĩa nào đó. Cụ thể, bạn có thể đặt một bảng bên trong một biểu mẫu hoặc ngược lại và thường hữu ích khi làm như vậy. Nhưng bạn cần phải hiểu những gì bạn đang làm.

Bàn và biểu mẫu có thể được lồng nhau theo một trong hai cách. Nhưng nếu bạn đặt biểu mẫu vào các bảng, mỗi biểu mẫu phải được bao gồm hoàn toàn vào một ô bảng duy nhất (một phần tử TD trong thực tế). Qua đó các hình thức là hoàn toàn độc lập.

AFAIK Có giá trị sử dụng các bảng để định dạng biểu mẫu.

+0

Rất tiếc, đã định dạng câu hỏi. Các tùy chọn của tôi với bảng trong câu hỏi là gì? – PeeHaa

+0

Trước tiên, HTML không hợp lệ vì bạn chưa đóng thẻ. Nó sẽ là như thế này: Bạn có hỏi nơi đặt

thẻ hoặc bạn có thể có nhiều thành phần bên trong bảng đơn không? Bạn nên đặt các thẻ bên ngoài bảng. –

+0

@Igor - nó không phải là XHTML. Dấu gạch chéo không bắt buộc (và trong HTML 4 chỉ đơn giản là sai) – Quentin

-1
<form action="/" name="form1"> 
<table> 
    <tr> 
    <td><input type="text" name="q"></td> 
    <td><input type="text" name="a"></td> 
    <td><input type="submit" name="submit" value="Submit"></td> 
    </tr> 
    <tr> 
    <td><input type="text" name="q"></td> 
    <td><input type="text" name="a"></td> 
    <td><input type="submit" name="submit" value="Submit"></td> 
    </tr> 
    <tr> 
    <td><input type="text" name="q"></td> 
    <td><input type="text" name="a"></td> 
    <td><input type="submit" name="submit" value="Submit"></td> 
    </tr> 
</table> 

    </form> 

hoặc

<table> 
    <tr> 
     <td colspan="2"> <form action="/" name="form1"></td> 
    </tr> 
    <tr> 
    <td><input type="text" name="q"></td> 
    <td><input type="text" name="a"></td> 
    <td><input type="submit" name="submit" value="Submit"></td> 
    </tr> 
<tr><td colspan="2"> </form></td></tr> 

...... 

</table> 
+0

huh? Và những gì q và những gì sẽ có trong yêu cầu ??? – PeeHaa

+0

bạn có cần cho mỗi hàng một mới không? – AlexC

+0

Yup đó là những gì tôi cần – PeeHaa

Các vấn đề liên quan