在table中用多个按钮处理多行表单(table与form嵌套)

        最近在写一个留言板,有个功能是管理员可以删除任意一条留言,于是我先在数据库中将所有数据取出来,用一个表格列出来,在每一行的后面加上一个删除的按钮。但是我遇到了很大的问题就是:点击一个按钮之后如何获得这一行的其中一个信息。只有获取了这一行的某个信息我才能到数据库中删掉这一行。

        首先table中是不能嵌套form的,form中可以嵌套table。所以下面这种写法是错的:

<table>
    <tr>
        <form></form>
    </tr>
    .
    .
    .
    <tr>
        <form></form>
    </tr>
</table>

        假如按钮的数量是确定的而且较少,那我们给每个按钮设置一个函数也可以。但是在我的代码中,按钮是用for循环生成的,按钮的数量不是我能控制的,而且可能会很多。解决方法就是给按钮的响应函数中加入参数,将一行的某个信息做参数传进函数中。我的代码如下:

        在table中,我先从数据库中取回所有数据放到一个list中,然后再循环输出。然后在响应函数中传入了留言的序号这一参数。

<table align="center" border="1" width="50%" cellpadding="8">
		<tr>
			<th align="center" colspan=6>留言列表</th>
		</tr>
		<tr>
			<th align="center" width=100>序号</th>
			<th align="center" width=500>标题</th>
			<th align="center" width=100>作者</th>
			<th align="center" width=100>操作</th>
		</tr>
		<%
			List<Message> list = (List<Message>) request.getAttribute("list");
			int i = 1;
			for (Message m : list) {
		%>
		<tr align="center" id="<%=i%>">
			<td width=100><%=i++%></td>
			<td width=500><%=m.getTitle()%></td>
			<td width=100><%=m.getAuthor()%></td>
			<td width=100><input type="button" onclick="sub(<%=i - 1%>)"
				value="删除" /></td>
		</tr>
		<%
			}
		%>
	</table>

        在响应函数中,我用URL方式跳转到Servlet中,并将留言的序号传给Servlet,然后Servlet通过序号去数据库中删掉对应的一行:

function sub(num) {
		window.location.href("drop_Message?num="+num);
	}

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值