- HTML code
<form action="AdminRepair" method="post"> <table> <tr> <td align="center"> <b>服务号</b> </td> <td align="center"> <b>详细描述</b> </td> <td align="center"> <b>故障分类</b> </td> <td align="center"> <b>宿舍</b> </td> <td align="center"> <b>提交人</b> </td> <td align="center"> <b>提交时间</b> </td> <td align="center"> <b>操作</b> </td> </tr> <c:forEach var="serviceWait" items="${lstServiceWait}"> <tr> <td align="center"> <font color="brown"><c:out value="${serviceWait.id}" /></font> </td> <td width="240"> <font color="brown"><c:out value="${serviceWait.describe}" /></font> </td> <td width="70" align="center"> <font color="brown"><c:out value="${serviceWait.fastType}" /></font> </td> <td align="center"> <font color="brown"><c:out value="${serviceWait.subRoom}" /></font> </td> <td align="center"> <font color="brown"><c:out value="${serviceWait.subStudent}" /></font> </td> <td width="80" align="center"> <font color="brown"><c:out value="${serviceWait.subTime}" /></font> </td> <td> <input type="submit" name="btnToSend" value="派遣" > <input type="submit" name="btnDel" value="删除" > </td> </tr> </c:forEach> </table></form>
如上面的代码所示
<c:forEach var="serviceWait" items="${lstServiceWait}"></c:forEach>
这样一个循环罗列出了多条数据
每条数据分别有不同的编号 还有 派遣 和 删除 的submit按钮
以前都是提交到servlet通过submit里各个value的值是否为空 来判断按的是哪个按钮
可是现在每条数据都有两个submit:派遣 和 删除
提交到servlet后只能判断出按的是派遣还是删除
无法判断出按的是哪条数据的派遣还是删除
如果这样写:
<input type="submit" name="btnToSend" value="${serviceWait.id}" >
<input type="submit" name="btnDel" value="${serviceWait.id}" >
虽然可以判断出来 但是按钮所显示的名字就不是派遣和删除了
有没什么方法能够让按钮显示 “派遣” 又能提交给form 循环里某个元素的某个属性呢?或者没有什么其他的思路呢?
------解决方案--------------------
按照下标和名字判断
String[] sends = request.getParameterValues("btnToSend");
------解决方案--------------------
js控制前台提交、
var formObject = document.getElementById('formId');
formObject.action = "your action";//传参可以考虑在后面补充、如果是checkbox的话 只能提交表单去处理了
formObject.submit();
------解决方案--------------------
首先哈,对于列表的删除编辑不能使用表单提交,你提交后列表中的所有数据都会提交过去,你无法判断要操作那条数据,代码如下:
- HTML code
<script>function send(id){ window.location.href = "doSendAct.do?id="+id;}function del(id){ window.location.href = "doDelAct.do?id="+id;}</script> <table> <tr> <td align="center"> <b>服务号</b> </td> <td align="center"> <b>详细描述</b> </td> <td align="center"> <b>故障分类</b> </td> <td align="center"> <b>宿舍</b> </td> <td align="center"> <b>提交人</b> </td> <td align="center"> <b>提交时间</b> </td> <td align="center"> <b>操作</b> </td> </tr> <c:forEach var="serviceWait" items="${lstServiceWait}"> <tr> <td align="center"> <font color="brown"><c:out value="${serviceWait.id}" /></font> </td> <td width="240"> <font color="brown"><c:out value="${serviceWait.describe}" /></font> </td> <td width="70" align="center"> <font color="brown"><c:out value="${serviceWait.fastType}" /></font> </td> <td align="center"> <font color="brown"><c:out value="${serviceWait.subRoom}" /></font> </td> <td align="center"> <font color="brown"><c:out value="${serviceWait.subStudent}" /></font> </td> <td width="80" align="center"> <font color="brown"><c:out value="${serviceWait.subTime}" /></font> </td> <td> <input type="button" name="btnToSend" value="派遣" onclick="send(${serviceWait.id})"> <input type="button" name="btnDel" value="删除" onclick="del(${serviceWait.id})"> </td> </tr> </c:forEach> </table>