Re: 2 submit buttons.
| From: | Floyd Resler | Date: | Tue, 15 Feb 2011 13:07:20 +0000 |
| Subject: | Re: 2 submit buttons. | ||
| References: | 1 2 3 4 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-311303@lists.php.net to get a copy of this message | ||
On Feb 14, 2011, at 5:24 PM, Paul M Foster wrote:
> 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
>
> --
Yeah, except that the original question was about controlling which button fires when the enter key
is pressed. :)
Thanks!
Floyd