views:

918

answers:

3

I have several different submit buttons on my JSP in one form tag that all point to the same servlet. I need to know which submit button was clicked. Ho can I find out which button was clicked?

Regards

+4  A: 

Each Submit button should have a different name:

<input type="submit" value="This is a submit button" name="submit1">
<input type="submit" value="Another submit button" name="submit2">
<input type="submit" value="Yet another submit button!" name="submit3">

Then, the name of the input should appear in the parameters sent to wherever the form is posting to, something like

post.jsp?key=value&submit3=&....

http://www.w3schools.com/tags/tag_input.asp

matt b
No, it does not appear in the query string.
crauscher
+2  A: 

if request.getParameter("button-name") is not null then this is the button that was pressed

Maurice Perry
+1  A: 

This is kind of similar to the DispatchAction in Struts. What they do is to have a hidden field, and when you submit the form, have onClick() set the value to specify which action is taken.

<input type="hidden" name="dispatchAction"/>
<input type="submit" value="Edit"   onClick="setDispatchAction('edit')">
<input type="submit" value="Delete" onClick="setDispatchAction('delete')">
Gary Kephart