有很多途径,其一为提交按钮取一个共同的名字,如name="abc",在接收页面用request.getParameter("abc"),看其值是“新建1”,还是“新建2”

解决方案 »

  1.   

    同意freefalcon(心宇)的方法,用request submit按钮的name来区分页面是由哪个form提交而来。注意submit按钮的名字必须一样
      

  2.   

    怎么input没有name作为标识的??
    哈哈,我还没有这样用过呢??其实这样用的用处是什么??
    这样应该会乱吧
      

  3.   

    也可以用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()'>
      

  4.   

    zxhong说得对,我也用这个方法来实现一个表单里面两个提交按钮
      

  5.   

    非常感谢您,您的方法管用,假如两个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")来获得当前操作的表单不知是否符合你的要求?
      

  6.   

    补充:zxhong的方法也是经常用到的,但主要用于将一个表单提交到不同的处理页面,或者对一个表单有不同的处理方法(但处理页面为一个,仍需加query字段),试看:将两个独立的表单通过两个独立的按钮分别提交到两个不同的处理页面,用的着这样吗?直接在form的action里写明url不就行了