奇怪的javascript错误:表单字段不能与函数同名?

时间:2013-11-18 09:52:14

标签: javascript forms function

我刚刚遇到一个非常奇怪的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/

0 个答案:

没有答案