【问题标题】:Getting ReferenceError in Javascript/HTML Saying Function Not Defined在 Javascript/HTML 中获取 ReferenceError 说函数未定义
【发布时间】:2016-11-23 18:27:08
【问题描述】:

我正在运行一些带有嵌入式 javascript 的非常普通的 HTML 代码。我正在使用“onClick”来引用前面几行声明的 javascript 函数。该脚本很简单,只应该显示带有“关于”信息的警报。

<!DOCTYPE=html>
<html>
    <head>
        <title>MyApp - Main Menu</title>
        <link rel="stylesheet" type="text/css" href="MyApp.css">
    </head>
    <body>
        <div id="CONTAINER">
             <div id="ONEIT1">
                 <img src="oneit_black.jpg">
             </div>
             <div id="ONEIT2">
                 <img src="oneit_black.jpg">
             </div>
             <div id="BANNER">
                 <h1>MyApplication</h1>
                 <h3>Main Menu</h3>
             </div>
             <div id="MENUBAR">
                 <script type="text/javascript">
                    function ABOUT_ALERT(node)
                    {{
                        return alert("Version 1.00");
                    }}
                 </script>
                 <ul>
                     <li><a href="mailto:somebody@email.com">Contact Admin</a></li>
                     <li><a href="#" onclick="return ABOUT_ALERT(this);">About MyApp</a></li>
                     <li>Something</li>
                     <li><form action="MyApp.py" method="post">
                        <input type="hidden" name="VAR_STATE" value="LOGOUT">
                        <input type="submit" value="Logout">
                     </li>
                </ul>
             </div>
        </div>
    </body>
</html>

但是,警报无法打开或显示,当我在 F12 开发人员工具中打开它时,我看到它告诉我我的函数 ABOUT_ALERT 未定义:

ReferenceError: ABOUT_ALERT 未定义

我在其他基于 Web 的应用程序的其他地方使用了完全相同的代码,没有任何问题。有人看到我在这里做错了吗?注意:我的 javascript 函数周围的双“{{”和“}}”是因为它是从 Python 运行的,我通常会做很多 {xyz} 格式化/替换,所以必须使用双精度。

【问题讨论】:

    标签: javascript html referenceerror


    【解决方案1】:
                    function ABOUT_ALERT(node)
                    {{
                        return alert("Version 1.00");
                    }}
    

    应该是:

                    function ABOUT_ALERT(){
                        alert("Version 1.00");
                    }
    

    此外,您的函数被声明为接受一个参数,并且您将一个参数传递给该函数,但该函数没有对该参数做任何事情。

    此外,您不需要任何return 关键字,因为不会向任何地方发送任何值。

    最后,将您的 JavaScript 放在网页的 head 部分或在 body 结束之前,以获得更好的可读性。

                        function ABOUT_ALERT() {
                            alert("Version 1.00");
                        }
            <div id="CONTAINER">
                 <div id="ONEIT1">
                     <img src="oneit_black.jpg">
                 </div>
                 <div id="ONEIT2">
                     <img src="oneit_black.jpg">
                 </div>
                 <div id="BANNER">
                     <h1>MyApplication</h1>
                     <h3>Main Menu</h3>
                 </div>
                 <div id="MENUBAR">
                     <ul>
                         <li><a href="mailto:somebody@email.com">Contact Admin</a></li>
                         <li><a href="#" onclick="ABOUT_ALERT();">About MyApp</a></li>
                         <li>Something</li>
                         <li><form action="MyApp.py" method="post">
                            <input type="hidden" name="VAR_STATE" value="LOGOUT">
                            <input type="submit" value="Logout">
                         </li>
                    </ul>
                 </div>
            </div>

    【讨论】:

      【解决方案2】:

      可能不是一个很好的答案,但是当我在 Chrome 中运行时,你的代码对我有用

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-26
        • 2022-01-24
        • 1970-01-01
        相关资源
        最近更新 更多