任意の数の行を含むことができるテーブルがあります。これらの各行は、フォームフィールドの要素を保持します。最初は、次のようになります。
<table border="2" id="familyHeader">
<tr>
<th>Description</th>
<th>Still associated?</th>
</tr>
<tr id="addNewChildRow">
<td>
<input type="text" ....>
<input type="text" ....>
</td>
<td>
<input type="submit" ....> <!-- this is intentionally not part of a form element -->
</td>
</tr>
<form id="family" method="post" action="php/update_children.php">
<tr id="updateChildrenRow">
<td> > > > > > > </td>
<td>
<input type="submit" id="updateChildren" name="updateChildren" class="updateChildren" value="Update Children"/>
</td>
</tr>
</form>
</table>
したがって、基本的に上部には詳細を入力できます。最初の「送信」ボタンには、テーブルに行を追加するキャプチャがあります。このJavaScript/jQueryを使用して、最後の行の前に(できればform要素内に)それらを追加します。
function insert_child(id, type, snumber, serialnumber)
{
$('#updateChildrenRow').before("<tr> <td>"+ type+" | "+snumber+" | "+serialnumber +"</td>"
//$('#family').append("<tr> <td>"+ type+" | "+snumber+" | "+serialnumber +"</td>"
+ "<td> <input type=\"hidden\" name=\""+id+"\" value=\"false\" />"
+ "<input type=\"checkbox\" checked=\"true\" name=\""+id +"\" value=\"true\"/> </td>"
+ "</tr>");
}
これは、要素を適切な場所に挿入するという点で機能しますが、フォームを送信すると、データはPOSTされません。ただし、フォーム要素の開口部を2行目に移動して送信すると、「addNewChildRow」ボタンがPOSTされます(これは、投稿ロジックが機能していることを示していると思いますが、動的に追加されたフィールドを検出していません)。
ご覧のとおり、テーブルではなくフォーム自体に追加しようとしましたが、これは機能しませんでした(表示されません)-フォーム要素をテーブルに動的に追加する方法を知っている人はいますか?それを取り巻く形によって「検出」されますか?
ありがとう :)