tempad
Readygo技术搜索引擎 >>项目管理 >> 捕获一个jsp页面里不同form的命令按钮事件

捕获一个jsp页面里不同form的命令按钮事件

Readygo技术搜索引擎 网络搜索 efish 2008-1-17 4:58:44

捕获一个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

责任编辑: efish 参与评论 查找更多:
相关文章
我们学校的网上有很多的好东西,但是,他不给我下载… 我们学校的网上有很多的好东西,但是,他不给我下载,只给了链接。我如果想下载他的话,有什么办法可以做吗
有关sql查询分析器运行sql的问题? 有关sql查询分析器运行sql的问题?
关于sql中的日期问题 关于sql中的日期问题
求助,请问大家。。。 求助,请问大家。。。
高分请教:引用类型怎么动态分配! 高分请教:引用类型怎么动态分配!
求助!网络共享ASA数据库的问题。 求助!网络共享ASA数据库的问题。
请大家帮帮我... 请大家帮帮我...
要离职了,准备送同事一件礼物,麻烦各位提个建议... 要离职了,准备送同事一件礼物,麻烦各位提个建议...
程序开发中的技巧、灵活的解决方案 程序开发中的技巧、灵活的解决方案
1000分求购:Dundas software系列软件,谁有? 1000分求购:Dundas software系列软件,谁有?
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn

分类导航
Readygo技术搜索引擎