Javascript 获得;xxx不是一个函数;在JS中
下面是我尝试在Firefox上运行的一些代码:Javascript 获得;xxx不是一个函数;在JS中,javascript,html,Javascript,Html,下面是我尝试在Firefox上运行的一些代码: <html> <head> <title>Ex4: My Sequence Finder</title> <script type="text/javascript"> function action() { alert("action"); if (for
<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>
例4:我的序列查找器
函数动作(){
警惕(“行动”);
如果(formValidation()==false)
返回;
}
函数searchInput(){
警报(“搜索输入”);
返回;
}
输入部分
查询序列
正如您所看到的,其中一个按钮调用searchInput(),工作正常,另一个按钮调用searchInput()
应该调用action(),但我得到“action()不是函数”。顺便说一句,他们都只是在这一点上调用alert(),所以我知道它在函数中
我不知道为什么会发生这种情况,任何帮助都会很好。
谢谢 表单元素有一个属性(指定应该处理表单数据的URI)
此属性名“覆盖”javascript函数名,从而导致您看到的错误
将您的函数重命名为其他函数,它就会工作。
操作
调用似乎不是函数的表单验证
。可能是因为解析器出现了这个错误,所以选择了not te register action作为函数。您可以使用
var function1 =new function(){
var action=new function() {
alert("action");
if (formValidation() == false)
return;
}
}
<input type="button" value="button1" onclick="function1.action()" />
var function1=新函数(){
var action=新函数(){
警惕(“行动”);
如果(formValidation()==false)
返回;
}
}
@Felix-我曾经花了几个小时与一个不起作用的submit()
function:)