<form>
単一のページに複数あり、すべてが一意の ID を持ち、フォームの本文は以下のようなものです。
<form id="form-main">
<table>
<tr>
<td><input type="text" name="field1"/></td>
. . . . . . .
. . . . . . .
</tr>
</table>
<table>
<tr>
<td><input type="text" name="field2"/></td>
. . . . . . .
. . . . . . .
</tr>
</table>
</form>
<form id="form-second">
<table>
<tr>
<td><input type="text" name="field3"/></td>
. . . . . . .
. . . . . . .
</tr>
</table>
<table>
<tr>
<td><input type="text" name="field4"/></td>
. . . . . . .
. . . . . . .
</tr>
</table>
</form>
フォームフィールドを整列させるためにテーブルを使用することはお勧めできません.CSSでこれを行うことができますが、実際の問題は、を使用する$("#form-main").serializeArray
と、このフォームのすべてのフィールドを配列オブジェクトに取得する必要があることですが、フォーム内の最初のテーブルのフィールドのみを取得すると、残りの入力は単純に無視されます。
これは の有効な動作serializeArray()
ですか? または私のテーブルの使用は本当の問題ですか?div
テーブルの代わりに sを使用できますが、それが最後のオプションになります。また、これらの複数のフォームでは、最初のテーブルに入力が必須のフィールドがあるため、「入力時に検証」アプローチとともに、これらの必須フィールドを繰り返して、空のままになっていないことを確認しています。各フォームの最初のテーブルのみが配列オブジェクトに含まれているのはそのためです。