現在、複数のフォームを一貫して構造化しようとしています。私は HTML が苦手なので、最初の試みは<table>
タグを使用してフォームの一貫性を保つことでした。
<table>
<tr>
<form>
<td><input type="text" /></td><td><input type="submit" value="Display" /></td>
</form>
</tr>
<tr>
<form>
<td><input type="text" /></td><td><input type="submit" value="Display" /></td>
</form>
</tr>
</table>
2 つのフォームは、データを選択する 2 つの可能な方法を表しているため、コード (つまり、それらを 1 つのフォームに簡単に統合することはできません) と視覚スタイルの両方で一貫している必要があります。
これにより、入力フィールドとボタン (元の例では、より多くのデータとボタンがあります) が一貫して配置された 2 つのフォームが得られることを期待していました。ただし、これには 2 つの問題があります。
- これはレイアウトの悪用
<table>
です。私はこれが悪いことを知っていますが、この場合、これは私が喜んで受け入れた欠点でした. - さらに重大なことに、これは有効な HTML ではあり
<form>
ません。そのため、これら 2 つの形式は本来のように連携しません。<tr>
<td>
HTML でフォームを構造化する方法についてオンラインで調べたところ、いくつかのリンクが見つかりましたが、それらはすべて、単一のフォームを一貫してレイアウトすることを扱っているだけです (たとえば、<dl>
for layout を使用すると、 を使用するよりも優れていると思われます<table>
)。これは、これらの個別のフォームを一貫して構造化するという私の問題にこれを適用する方法について、私がまったく考えていないことを意味します。
これを達成する良い方法はありますか?
編集:
一部の人々は私の説明に混乱しているように見えるので、これが最終的にどのようになることを望んでいるかを示した図を次に示します。
Value1: [input_field1_which_is_longer] [Button1]
Value2: [input_field2] [Button2]
ここ[input_field1_which_is_longer]
と[Button1]
1 つのフォームに属します。[input_field2]
そして[Button2]
第二形態に属します。これら 2 つのフォームは、同じデータにアクセスするための 2 つの異なる方法を提供するため、視覚的に整列する必要があります。
2 つの別個のフォームが必要です。これにより、サーバー側の処理部分を非常にシンプルに保つことができます (どのボタンが押されたかをまったく確認する必要がなく、データだけで十分です)。これを 1 つのフォームに変換しようとすると、2 つのボタンのどちらが押されたかを検出する必要があり、処理側ではさらに複雑になります。
また、これらのフォームを単純な別<div>
の s に入れると、最初のフォームが 2 番目のフォームよりもはるかに長いため、形が崩れて見えます。