如何解决在JS中得到“ xxx不是函数”
| 这是我尝试在Firefox上运行的一些代码: <html>
<head>
<title>Ex4: My Sequence Finder</title>
<script type=\"text/javascript\">
function action() {
alert(\"action\");
if (formValidation() == false)
return;
}
function searchInput() {
alert(\"searchInput\");
return;
}
</script>
</head>
<body>
<font face=\"arial\" size=\"5\" color=\"blue\">Input section</font> <br/>
<p>Query Sequence</p>
<form name=\"form\">
<textarea id=\"input\" rows=\"8\" cols=\"60\"></textarea><br/>
<textarea id=\"enhancers\" rows=\"4\" cols=\"30\"></textarea><br/>
<textarea id=\"silencers\" rows=\"4\" cols=\"30\"></textarea><br/>
<input type=\"button\" value=\"button1\" onclick=\"action()\" />
<input type=\"button\" value=\"button2\" onclick=\"searchInput()\" />
<div id=\"results\"></div>
</form>
</body>
</html>
如您所见,其中一个按钮调用searchInput()可以正常工作,另一个按钮
应该调用action(),但我得到“ action()不是函数”。顺便说一句,他们都只在这一点上调用alert(),所以我知道它进入了函数。
我不知道为什么会发生这种情况,任何帮助都会很棒。
谢谢!
解决方法
表单元素具有“ 1”属性(指定应处理表单数据的URI)。
此属性名称\“ overrides \” javascript函数名称,导致您看到错误。
将您的函数重命名为其他名称,它将起作用。
, 您可以使用解决此问题
var function1 =new function(){
var action=new function() {
alert(\"action\");
if (formValidation() == false)
return;
}
}
<input type=\"button\" value=\"button1\" onclick=\"function1.action()\" />
, action
调用formValidation
,这似乎不是一个函数。解析器可能会收到此错误,并因此选择不将操作注册为函数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。