Re: 2 submit buttons.

From: Date: Mon, 14 Feb 2011 22:24:24 +0000
Subject: Re: 2 submit buttons.
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-311288@lists.php.net to get a copy of this message
On Mon, Feb 14, 2011 at 05:15:11PM -0500, Floyd Resler wrote: > > On Feb 14, 2011, at 4:18 PM, Paul M Foster wrote: > > > On Mon, Feb 14, 2011 at 03:35:02PM -0400, Paul Halliday wrote: > > > >> I have 2 buttons on a page: > >> > >> if (isset($_POST['botton1'])) {dothing1();} if > >> (isset($_POST['button2'])) {dothing2();} > >> > >> They both work as intended when I click on them. If however I click > >> within a text box and hit enter, they both fire. > >> > >> Is there a way to stop this? > > > > Check your code. My experience has been that forms with multiple > > submits will fire the *first* submit in the form when you hit Enter > > in a text field or whatever. I just tested this and found it to be > > true. > > > > Now, I'm doing this in Firefox on Linux. I suppose there could be > > differences among browsers, but I suspect that the specs for HTML > > mandate the behavior I describe. > > > > Paul > > > > If you don't mind using a little JavaScript you can test for which > button should fire when enter is pressed. How I would do it is to > first add a hidden field and call it "buttonClicked". Now, in the > text field where you would like a button to fire if enter is pressed, > at this to the tag: onkeyup="checkKey(this,event)". For the > JavaScript portion of it, do this: Yeah, but you don't even have to go that far. Just put a print_r($_POST) at the beginning of the file, and you'll see which button gets pressed. It will show up in the POST array. Paul -- Paul M. Foster http://noferblatz.com

« previous php.general (#311288) next »