I've had two instances recently where I had to execute some form processing code once the page load event was fired. However, I didn't have access to the BODY
tag because it was contained in a global header include. Obviously, adding my onload event handler in a global header would throw 'Object does not exist' errors all over the site.
There is the non-standard option of placing your function call in the onload event of an IMG, SCRIPT, or FORM tag, but in my experience, this method is less than perfect or consistent in inconsistently working. A browser can load a form at the bottom of a page before it loads an image at the top of your page. And throwing unfriendly errors, let alone any error, is bad for business. So I came up with a first grade-type solution. Keep trying until you get it right. A perpetual loop that won't throw errors.
After and outside of the function block, call the function. It tries to submit the form. If it doesn't work for any reason, it catches the error. Once it catches an error, its instructions are to call itself, which starts the process all over.
Between the recursivness and catch functionality, you have a perpetual loop that won't throw errors. Be careful how you use this. As simple as it seems, in the wrong logical conditions, it could run forever and hang your client's browser.