いくつかの静的なものと一緒にいくつかの動的に追加されたテキストボックスがあります。私が抱えている問題は、動的フォームの1つからアイテムを削除するときに、フォームタグでラップしていない限り、リストから最後のアイテムのみが削除されることです。ただし、フォームタグでラップすると、静的テキストボックスは投稿されません。基本的に、テキストボックスを送信する場合、タグを適切に使用する方法を考えています。
例えば、
<form method="post">
<textbox 1>
<textbox 2>
<textbox 3>
<?
$tasks->task_form();
?>
<another textbox> //these text boxes don't POST when the dynamic forms have tags wrapped around them
<another textbox>
<?
$users->dynamic_form_2();
?>
</form>
たとえば、これがtask_formです
function task_form(){
//textbox and submit to add tasks here (omitted to keep shorter)
foreach (array_combine($task, $task_num) as $task => $task_num){
?>
<form method="post">
<tr><td><? echo $task; ?></td><td><? echo $task_num; ?></td>
<td><input type="submit" name="remove_task" value="Remove"/></td>
<td><input type="hidden" name="task_name" value="<? echo $task; ?>"/>
<td><input type="hidden" name="task_num" value="<? echo $task_num; ?>"/></td></tr>
</form>
<?
}
}
動的フォームの周囲にフォームタグを配置しないと、削除しようとしたアイテムに関係なく、そのフォームの最後のアイテムが削除されます。ただし、フォームタグを使用すると、一部のテキストボックスの値がPOSTされません。