js "is not a function at HT

2018-11-04  本文已影响32人  厚土火焱

xxx is not a function at HTMLInputElement.onclick
这样的问题,竟然给遇到了。各种查。
最后发现是因为:id 和 function 同名造成的。
原始代码:

    <script>
        function btnInsert() {
            if(keyword.value.length > 0){
                document.getElementById("formUserSearch").submit();
            }
        }
        function btnDel() {
            alert("Del Now");
        }

    </script>

...

        <input id="btnInsert" type="button" onclick="btnInsert();" value="Insert">
        <input id="btnDel" type="button" onclick="btnDel();" value="Delete" >

修改后的代码:

    <script>
        function btnInsertV() {
            if(keyword.value.length > 0){
                document.getElementById("formUserSearch").submit();
            }
        }
        function btnDelV() {
            alert("Del Now");
        }

    </script>

...

        <input id="btnInsert" type="button" onclick="btnInsertV();" value="Insert">
        <input id="btnDel" type="button" onclick="btnDelV();" value="Delete" >

结论:

写js的时候,id 或 name 不得与 function 同名,否则会产生冲突。

上一篇 下一篇

猜你喜欢

热点阅读