The standard way to push the page data back to the APEX server is to use an HTML button. One issue with HTML buttons is that they can be clicked more than once, and under certain circumstances this can cause issues. To ensure that the button can only be pressed once you can do the following.
alter button settings so that inside the URL redirect section the URL target value is set to
Note that the value inside doSubmit(”) is the same as the button name.
You can even go one step further and replace the text of the button to something relevant like “Submitting….”. The following code does this
The button now looks like this when it has been clicked
Thats it, the button is now coded so that the user can only click it once to submit the page. Any further clicks are ignored.