我似乎无法弄清楚如何为每个单独的行运行表单,但同时有一个表单来处理表中的每个项目。例:
deleteSelected表单将控制批量操作, changeStatus表单将控制单个项目
<form id="deleteSelected">
<table>
<tr>
<td><input type="checkbox" name="deleteSelected[]"/></td>
<td>Id</td>
<td>Name</td>
<td>Phone</td>
<td>
<form id="changeStatus">
<select name="item_id">
<option value="option1">option1</option>
<option value="option2">option2</option>
<option value="option3">option3</option>
</select>
</form>
</td>
</tr>
<table>
</form>
我知道这是错的,因为你不能出于显而易见的原因嵌套表单,但这正是我想要完成的。
我遇到的一个可能的解决方案是创建一个由javascript填充的不可见表单,其中包含所有已检查的项目ID,然后将PHP爆炸到POST。但它似乎更像是一个黑客而非修复。还有其他任何方式??
谢谢。
答案 0 :(得分:0)
表单无效,因此您可以使用JavaScript函数加载页面
<script type="text/javascript">
function changestatus(value)
{
window.location.href="actionurl.php?sendvalue="+value;
}
</script>
将此函数调用为选择框的更改事件,如此
<form id="deleteSelected">
<table>
<tr>
<td><input type="checkbox" name="deleteSelected[]"/></td>
<td>Id</td>
<td>Name</td>
<td>Phone</td>
<td>
<!-- <form id="changeStatus">-->
<select name="item_id" onchange="changestatus(this.value);">
<option value="option1">option1</option>
<option value="option2">option2</option>
<option value="option3">option3</option>
</select>
<!-- </form>-->
</td>
</tr>
<table>
</form>
<script type="text/javascript">
function changestatus(value)
{
window.location.href="actionurl.php?sendvalue="+value;
}
</script>