捕获一个jsp页面里不同form的命令按钮事件
捕获一个jsp页面里不同form的命令按钮事件
楼主tomcattmh(tt)2002-11-07 12:13:14 在 Java / Web 开发 提问 <body>
<form name="Form1" method="post" >
<table>...
<input type="submit" value="新建1" onclick="document.Form1.action.value="new1"">
</table></form>
<form name="Form2" method="post" >
<table>...
<input type="submit" value="新建2" onclick="document.Form2.action.value="new2"">
</table></form></body>
通过String sAction = request.getParameter("action"),然后加上判断语句,我只能捕获第一个form的按钮事件,无法获得form2的按钮事件,请高手赐教,非常感谢!
问题点数:20、回复次数:9Top
1 楼freefalcon(心宇—消失中...)回复于 2002-11-07 12:23:22 得分 0
有很多途径,其一为提交按钮取一个共同的名字,如name="abc",在接收页面用request.getParameter("abc"),看其值是“新建1”,还是“新建2”Top
2 楼hazeline(砸死我)回复于 2002-11-07 12:37:25 得分 0
同意freefalcon(心宇)的方法,用request submit按钮的name来区分页面是由哪个form提交而来。注意submit按钮的名字必须一样Top
3 楼beming(Aming)回复于 2002-11-07 12:38:25 得分 0
怎么input没有name作为标识的??
哈哈,我还没有这样用过呢??其实这样用的用处是什么??
这样应该会乱吧Top
4 楼zxhong(红透半边天)回复于 2002-11-07 12:56:34 得分 0
也可以用JAVASCRIPT
按钮都写到一个form里
action="";
function test1()
{
formname.action="1.jsp";
document.form1.submit();
}
function test2()
{
formname.action="2.jsp";
document.form1.submit();
}
<input type="button" name="Submit" value="test3" onclick="test1()">
<input type="button" name="Submit" value="test4" onclick="test2()">Top
5 楼ppdy(鸡腿飞扬)回复于 2002-11-07 14:06:36 得分 0
樓上的做法好。同意。Top
6 楼windygirl(风间沧月)回复于 2002-11-07 14:21:07 得分 0
upTop
7 楼hellochenqi(奇奇)回复于 2002-11-07 16:07:31 得分 0
zxhong说得对,我也用这个方法来实现一个表单里面两个提交按钮Top
8 楼freefalcon(心宇—消失中...)回复于 2002-11-07 20:55:19 得分 20
非常感谢您,您的方法管用,假如两个form的按钮名字必须一样,比如一个是对主表操作,一个是对从表进行操作,他们的value都是“新建”,请问如何解决,再次感谢!
若两个按钮的名字一样,确实不能再按这种方法了
如果你的处理页面只有一个(也只有在一个的情况下你才会这样操作,是吗),可以通过query字段来传递信息,如下:
<form name=form1 action="target.jsp?action=1">
<table>
</table>
<input type=submit value="新建">
</form>
<form name=form2 action="target.jsp?action=2">
<table>
</table>
<input type=submit value="新建">
</form>
这样你在接受页面target.jsp里就可以用request.getParameter("action")来获得当前提交的表单了
如果你认为query字段方法不安全(确实不安全,因为用户可以直接修改它),不妨用hidden对象来传递标志,如下:
<form name=form1 action="target.jsp">
<table>
</table>
<input type=hidden name="action" value="1">
<input type=submit value="新建">
</form>
<form name=form2 action="target.jsp">
<table>
</table>
<input type=hidden name="action" value="2">
<input type=submit value="新建">
</form>
这样你也可以用request.getParameter("action")来获得当前操作的表单
不知是否符合你的要求?Top
9 楼freefalcon(心宇—消失中...)回复于 2002-11-07 21:04:45 得分 0
补充:zxhong的方法也是经常用到的,但主要用于将一个表单提交到不同的处理页面,或者对一个表单有不同的处理方法(但处理页面为一个,仍需加query字段),试看:将两个独立的表单通过两个独立的按钮分别提交到两个不同的处理页面,用的着这样吗?直接在form的action里写明url不就行了Top
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn
