Javascript 获得;xxx不是一个函数;在JS中

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

下面是我尝试在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>

例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:)