2016-11-23 40 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

跑了