2016-11-23 19 views
1

我正在运行一些非常香草的HTML代码与嵌入式JavaScript。我正在使用“onClick”来引用前面几行声明的javascript函数。该脚本很简单,只能显示“关于”信息的警报。在Javascript/HTML中获取引用错误说功能没有定义

<!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:[email protected]">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}格式/替换,所以必须使用双精度。

回答

0
   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:some[email protected]">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>

0

也许不是一个伟大的答案,但你的代码为我工作,当我在Chrome

跑了