Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 804
exoboy Avatar asked Jul 02 '10 19:07

exoboy


2 Answers

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!

like image 102
exoboy Avatar answered Oct 20 '22 00:10

exoboy


Sometimes, when you're writing back end systems where the user is expected to have JavaScript enabled in order to use the system, I feel it's fine to use javascript: href tags, since use of the system requires JavaScript anyway.

In this case, there is nothing wrong with using href="javascript:", is there?

like image 44
Rick Kukiela Avatar answered Oct 19 '22 23:10

Rick Kukiela