2011-07-15 10 views
8

テーブル行にフォームを追加する有効な方法はありますか?テーブル行にフォームを追加

私は、次のような状況があります。

<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> 

はどのようにしてフォーム要素を追加して、まだ有効なHTMLを持つことができますか?

<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> 

答えて

4

フォーム要素の内側にあなたのテーブルをラップ:

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

しかし、さらに良い:可能な場合は、テーブルなしでフォームを作成します。

+5

なぜ表形式のデータに表を使用したくないのですか? – PeeHaa

+0

あなたの特定の例では、フォーム内に表をラップするのは問題ありません。一方、一度に複数の行を入力すると、このデータが失われるため、情報が失われるか、ユーザーが混乱する可能性があります。 –

+3

私はあなたの問題を示すデモページをセットアップしました:http://tableinsideform.heroku.com/ –

0

テーブルとフォームはHTMLで別々の概念です(少なくとも私はそれだと思う)が無効です。人々は時々それらをお互いに混同します。概念的な混乱にはしばしば混乱したマークアップが伴う。一方、テーブルとフォームはある意味で「混在」することができます。具体的には、フォームの中にテーブルを置くこともできますし、逆にテーブルを置くこともできます。しかし、あなたがしていることを理解する必要があります。

テーブルとフォームはいずれの方法でもネストできます。しかし、フォームをテーブルに入れると、各フォームは1つのテーブルセル(実際には1つのTDエレメント)に完全に含まれていなければなりません。それによってフォームは完全に独立しています。

AFAIKフォームをフォーマットするためにテーブルを使用することは有効です。

+0

申し訳ありませんが、質問の形式をねじ込みました。質問の中で私の選択肢は何ですか? – PeeHaa

+0

最初にタグを閉じていないため、HTMLは無効です。

タグの配置先を質問していますか、マルチテーブルの要素を1つのテーブルに入れることはできますか?タグをテーブルの外に置く必要があります。 –

+0

@Igor - XHTMLではありません。スラッシュは必須ではありません(HTML 4では単に間違っています)。 – 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> 

または

<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

ハァッか。そして、どのようなqと何が要求になるだろうか??? – PeeHaa

+0

あなたはすべての単一の行に新しいが必要ですか? – AlexC

+0

これで私の必要があります – PeeHaa

関連する問題