我刚刚遇到一个非常奇怪的javascript错误。
我有一个带有按钮输入字段的表单:
<input type="button" id="flagAnswer" value="Flag" onclick="flagAnswer()">
在我的js文件中,我已经定义了flagAnswer函数:
function flagAnswer(){
// do stuff
}
但是,当我尝试单击标志按钮时,出现以下错误:
TypeError: flagAnswer is not a function
我一直在摆弄它,因为它似乎非常简单,而麻烦似乎是输入字段的id和函数的名称是相同的。如果我稍微更改了函数名称,或者我更改了输入ID,则可以正常工作。
为什么会这样?除了重命名其中一个之外,有什么方法可以避免它吗?
修改
jsfiddles来说明我的观点:
原始错误(点击无效) - http://jsfiddle.net/aQ9zt/1/
更改功能名称(单击“工作”) - http://jsfiddle.net/r8m9L/4/
更改输入ID(点击作品) - http://jsfiddle.net/r8m9L/5/