如何处理同一FORM中的多个SUBMIT?

bachelor_cn 2005-07-19 04:10:53
同一个FORM中,我做了二个BUTTON(添加和修改),在action动作中,如何来区分这二个提交呢?
...全文
505 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
haodong2006 2005-07-27
  • 打赏
  • 举报
回复
bachelor_cn 2005-07-27
  • 打赏
  • 举报
回复
谢谢,我已经解决了。
bachelor_cn 2005-07-21
  • 打赏
  • 举报
回复
我的QQ:514916025
做WEB开发的朋友,我们一起多联系啊!!!!
wjg259675 2005-07-21
  • 打赏
  • 举报
回复
交个朋友吧
QQ:9744772
wjg259675 2005-07-21
  • 打赏
  • 举报
回复
xnxqs(轻松逍遥子)
你的方法很好,我想问的是在你的第二个方法中operStr是不是写错了,应当是changeStr
xnxqs 2005-07-21
  • 打赏
  • 举报
回复
能问一下,你为什么非得用<button...>abc</button>这种形式来提交呢?
呵呵..有点好奇~~

wwwzhigang 2005-07-20
  • 打赏
  • 举报
回复
给按钮设置上不同的名字就行了.....
bachelor_cn 2005-07-20
  • 打赏
  • 举报
回复
嗯,不错。
只是我没有用<input name="" value="">而是用<button type=submit name="">**添加**</button>来提交的。用getparameter得到的是<>和</>之间的值,而<>和</>之间比较复杂有快捷键标志等。所以你的第二种方法似乎不太可行。
对于第一种,只怕用?带参数传的话会在IE地址栏中显示出来,不过也可一试。
非常感谢楼上朋友们的回复。
xnxqs 2005-07-20
  • 打赏
  • 举报
回复
忘了加一个接受的语句.
String operStr = SysFunction.converString(request.getParameter("act"));
补上!
xnxqs 2005-07-20
  • 打赏
  • 举报
回复
二种方法.
一种就是用一楼的JS.不过要稍稍改一下.

javascript.
function confirm()
{
if(form1.Buttion1.value == "tianjian"){
form1.submit(" svt?act=update");//注意:可以用问号带参数的形式,而servlet是一样的.给
}

另一种方法,直接用多个SUBMIT.代码如下.我现在做的项目就是这样做的.
表单页:
<form name="form1" method="post" action="/oa/GdjzSvt" >
<input type="submit" name="act" value="添加">
<input type="submit" name="act" value="删除">
<input type="submit" name="act" value="修改">
</form>
svt页
........
//一个处理汉字的函数.等一会要用
public static String converString(String changeStr) {
if (changeStr == null) {
changeStr = "";
}
try {

changeStr = new String(changeStr.getBytes("iso-8859-1"), "GBK");
changeStr = changeStr.trim();
}
catch (UnsupportedEncodingException ex) {
}

return changeStr;
}
//添加
if((operStr != null) &&("添加".equals(operStr)){
try{......
//删除
if((operStr != null) &&("删除".equals(operStr)){
try{....
//修改
if((operStr != null) &&("修改".equals(operStr))){
try{.....
该方法绝对可行.不知道能否解决楼主的问题.
wrs428 2005-07-20
  • 打赏
  • 举报
回复
这种情况我遇到过,方法就是做一个隐含表单,点击不同的按钮给这个表单赋不同的值,servlet通过这个隐含表单的值进行跳转
bachelor_cn 2005-07-20
  • 打赏
  • 举报
回复
楼上的,按钮的名字是就是name=""吧。用getparameter()取到提是<button></button>之间的值(因为之间放了其他的东西,不好用它作判断。)

用脚本似乎可行,1楼的脚本是每个提交对应一个处理页面。现在是想在同一个servlet中处理,请问怎么办?

eureka0891 2005-07-20
  • 打赏
  • 举报
回复
js
奇伢 2005-07-19
  • 打赏
  • 举报
回复
其实楼主可以这样子做,一个按纽就够了,用servlet判断,看这个新传过来的记录在数据库中有没有,有的话sql="update....."没有的话sql="insert....."
不知道这样可不可以
humanity 2005-07-19
  • 打赏
  • 举报
回复
Form 提交了,那么只有提交的那个 submit button 名字和他的值 会自动贴在 QueryString 中,你只要查找 button 的名字和值,只要你明确知道 所有的 Submit Button 的 <name=value> 就可以认为"存在的就一定是事件源" 。
YG_AMD1700 2005-07-19
  • 打赏
  • 举报
回复
用getParameter()就得到value的值了
bachelor_cn 2005-07-19
  • 打赏
  • 举报
回复
感谢上面的回复 ,我说的action就是把这个FORM提交到一个servlet中去处理。想在servlet中根据不同的提交BUTTON的标志,做二个CASE就可以了。
不知对BUTTON的VALUE来判断可行不可行。我用getparameternames()得到的是一串数值,不是value=""中的内容。
垲垲 2005-07-19
  • 打赏
  • 举报
回复
可以在提交的时候指定FORM的action

点 [添加] 时:form.action="add.jsp";
fomr.submit90;

点 [修改] 时:form.action="modify.jsp"
fomr.submit90;

如果在同一个.jsp文件中处理,可以通过对button的value来判断时添加还是修改
xingljx 2005-07-19
  • 打赏
  • 举报
回复
通过事件来控制,如上所示
YLENTER 2005-07-19
  • 打赏
  • 举报
回复
javascript.
function confirm()
{
if(form1.Buttion1.value == "tianjian"){
form1.submit(" action");
}

}

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧