I am creating a registration form which contains two submit buttons. I need to know which button is clicked in the form in my servlet code?
A:
You can add a hidden field to the form and when a user clicks a button set its value to "btn1" or "btn2" using javascript before sumbit.
Cheers :)
Ratnesh Maurya
2009-06-28 08:49:40
There is no need for JS. You can just do what Google does, have two submit buttons with different values.
Matthew Flaschen
2009-06-28 08:52:43
<input name="submit" type="submit" value="SearchSumbit" onClick="javascript: document.Form1.sumbitType.value = 'btn1';" />BTW this is the JS way of doing it :)
Ratnesh Maurya
2009-06-28 08:58:38
So little code. So many things wrong with it. (1) It can't decide if it wants to be HTML or XHTML. (2) It has spelling errors. (3) It introduces a dependency on JS that simply isn't needed. (4) It uses a loop label without a loop. (5) It goes the long way around to get a reference to the form element. (6) It uses intrinsic event handler attributes instead of separating out the code in to a script file. While it is *a* way of doing it with JS, it is a very poor example of using JS to solve the problem, and JS is the wrong tool to solve the problem with in the first place.
David Dorward
2009-06-28 13:05:47
+3
A:
Read the answers to this question.
So, in
String button1 = request.getParameter("button1");
String button2 = request.getParameter("button2");
the value which isn't null is the pressed button.
Or, if you want to use the same name for the two buttons you can set a different value
<input type="submit" name="act" value="delete"/>
<input type="submit" name="act" value="update"/>
Then
String act = request.getParameter("act");
if (act.equals("delete")) {
//delete button was pressed
} else if (act.equals("update")) {
//update button was pressed
} else if (act == null) {
//no button has been selected
} else {
//someone has altered the HTML and sent a different value!
}
Vinko Vrsalovic
2009-06-28 09:04:40
+2
A:
Only the clicked button will be a successful control.
<input type="submit" name="action" value="Something">
<input type="submit" name="action" value="Something Else">
Then, server side, check the value of the action data.
David Dorward
2009-06-28 09:10:34