Initiates when a form submits data to the host through the HTTP protocol. At this point, the data is organized into a data set but has not been sent to the host. Calculations and scripts associated with this event can examine and alter the data prior to the form submission. If the calculation or script is set to run on the server, the form sends the data to the server indicating that it should run the calculation or script before performing any additional processing.
Note:
This event does not distinguish between submissions initiated by instances of clicking buttons or to different URLs. Any script that needs to make these distinctions must include code to determine which button was clicked. In general, the preSubmit event is conceptually similar to the preSave event and serves a similar purpose.
You can use this event to change form data immediately before the data is submitted. For example, you can create a script on the preSubmit event to scan the amount of data and display a message to the form filler estimating how long the data submission may take.
See also 

preSubmit event