2012-12-15 89 views
0

我收到此错误:“未捕获的SyntaxError:意外的标记(”在简单的功能

Uncaught SyntaxError: Unexpected token (

当我就不做评论了此功能:

function setTextField(str) 
{ 
     if ((str == "") || (str == null)) 
      str = "Enter Task Here"; 
     document.getElementById.("get_subject").value = str; 
} 

我想从执行此其他地方(在后面的代码):

setTimeout('setTextField();', 1000); 

为什么会出现这个错误

回答

7
document.getElementById.("get_subject").value = str; 
//     ^What's that doing there? 

{token}.需要后跟一个属性名称的标记,以成为有效的JS语法(不包括某些数字文字语法)。

你想:

document.getElementById("get_subject").value = str; 

而且,永远,永远,永远,将字符串传递到setTimeout。它需要一个真正的功能!

setTimeout(setTextField, 1000); 

或者,如果要执行更复杂的代码:

setTimeout(function() { 
    setTextField(someArgument, someOtherArgument); 
    //othercode 
}, 1000); 
+0

妈的,以为我能得到匿名函数编辑在你面前:P –

+0

我发誓,我看着我的代码9001倍。我想我需要休息一下。非常感谢亚历克斯! – Ben

+1

在现代浏览器中,您实际上可以在开发人员控制台中单击语法错误,并显示导致该错误的行。那时应该很清楚。 –

相关问题