我有一些动态添加的文本框和一些静态文本框。我遇到的问题是,当我从一个动态表单中删除一个项目时,除非我用表单标签包裹它,否则它只会从列表中删除最后一个项目。但是,当我将其包装在表单标签中时,静态文本框将不会发布。基本上我只是想知道如果我想提交文本框如何正确使用标签。
例如,
<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。
最佳答案
这可能不是最干净的解决方案,但您可以使用类似 jQuery 的工具包单击其中一个提交按钮,只需并行发送每个表单的 ajax
查询,一切完成后,重定向到另一个页面。
我仍然强烈建议您检查您的表单,它可能应该是单个表单!
关于php - PHP一键提交多个表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13577132/