On Thu, 2011-01-13 at 21:43 +0000, ambs wrote:
Hello
I have a form with two submit buttons. I do not want to have js to detect what submit button was used to redirect the script for two different actions.
Looking to the documentation I found out conditional matching.
So, my doubt is: is there any chance on using conditional matching to detect what submit button was used? (basically, is there any way to access to the CGI parameters on the conditional matching portion of routes?)
I'd be inclined to give them different names, e.g.: <form ... action="/dosomething"> ... <input type="submit" name="foo" value="Do Foo" /> <input type="submit" name="bar" value="Do Bar" /> </form> and have them submit to a route which calls a different sub depending on the button clicked, e.g: post '/dosomething' => sub { if (params->{foo}) { do_foo(); } else { do_bar(); } }; Alternatively, it seems a touch hackish, but you could have multiple routes which pass if the right button wasn't clicked, e.g.: post '/dosomething' => sub { pass unless params->{foo}; # Do some foo here }; post '/dosomething' => sub { pass unless params->{bar}; # Do some bar here }; Cheers Dave P -- David Precious <davidp@preshweb.co.uk> ("bigpresh") http://www.preshweb.co.uk/