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
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php