My oppinion:
I imagine that the submit event was created to verify ALL OTHER DATA in
the form than "which submit button" was clicked ... In order to choose
things in a form that is being submitted, there are other inputs, like radio buttons <input type='radio'...> or a dropdown list <select ...> .
But if it is really wanted 3 buttons I would use normal buttons, passing a number to a function that submits the form, ex:
<input type = "button" onclick="sendForm(1)" value="Google">
A hidden field would hold the "engine number" in the form, before sending it.
In the example, the sendForm( number) function receives the data from
the button, it can perform a switch decision for something, then set the hidden field with
the "engine number", and finally submit the form using the form's submit() function.
About new specifications, it would solve the question if the last focused
element held an information like "lastFocused = true".
This way, the function used by the onsubmit event, could excute a loop for all form inputs, detecting the last focused one (by this new Property), which would be the "clicked" submit button.