Search code examples
javascriptinternet-explorer-7

I get this error! [ 'return' statement outside of function ]


I was creating a form validator for a client and ran into this weird error only in Internet Explorer (Explorer) 7/8....

'return' outside of function, line 1, char 1

Of course, there was no code whatsoever on line 1. It was a simple commented statement. And there was nothing wring with it in any way. So I knew it was just a debug misdirection.

I have been pulling my hair out to understand what could be wrong here...

I have already ruled out the obvious: return statements in a loop, too many return statements in a single function, and any returns actually outside of a legitimate function definition.

What is the reason for this?


Solution

  • The problem was that I was using a return statement to override the default behavior for my form and it was assigned to a property, but it was not placed inside an anonymous function!

    I had a form element that was set up like this:

    <form name="formname" onSubmit="javascript:validateForm(this);" action="javascript:return false;" method="post" enctype="multipart/form-data">
    

    All I needed to change was the action property to this:

    … action="javascript:function(){return false};"
    

    It now works flawlessly!