我正在为客户端创建一个表单验证器,并且只在Internet Exploder(Explorer)7/8中遇到这个奇怪的错误....
'return' outside of function, line 1, char 1
当然,第1行没有代码,这是一个简单的评论声明。并且没有任何东西可以用它来绞尽脑汁。所以我知道这只是一个调试miss-direct。
我一直在拉我的头发,以了解这里可能出现的问题......
我已经排除了显而易见的:循环中的return语句,单个函数中的返回语句太多,实际上在合法函数定义之外的任何返回。
当发生这种情况时,还有其他人有过这种情况吗?
答案 0 :(得分:15)
我明白了!
问题是我使用了一个return语句来覆盖我的表单的默认行为,它被分配给一个属性,但它没有放在一个匿名函数中!
我有一个像这样设置的表单元素:
<form name="formname" onSubmit="javascript:validateForm(this);" action="javascript:return false;" method="post" enctype="multipart/form-data">
我需要改变的是动作属性:
… action="javascript:function(){return false};"
它现在完美无瑕!
希望这能让其他人远离我所经历的地狱。
答案 1 :(得分:1)
有时,当您要写回用户需要启用javascript以便使用系统的终端系统时。我觉得使用javascript:href标签很好,因为无论如何系统的使用都需要javascript。在这种情况下,使用href =“javascript:”有什么不对吗?
答案 2 :(得分:1)
检查确保您不写<#34; var&#34;在您的函数参数。在许多语言中,您必须指定参数参数的类型。在javascript中你不必。
答案 3 :(得分:0)
我使用ModalPopupExtender收到此错误。我已经指定了以下属性: OnOkScript =“return false;”
设置OkOkScript =“”为我解决了这个问题。