2014-09-27 94 views
6

試圖用按鈕調用JavaScript函數,並且該按鈕沒有按任何操作。調試器返回「未捕獲引用錯誤:。沒有定義printNumberjavascript未捕獲的引用錯誤onclick

printNumber是我要調用的函數

我做了搜索,大多數人有這個問題沒有使用正確的語法來聲明它們的功能,在另一個函數(函數超出範圍)中定義它們的函數,或者在它們被調用後放置它們的函數,結果頭腦裏沒有任何東西在運行,例如我試圖提示一個提示,並且提示沒有顯示

這是我的腳本:

<head> 
    <script type="javascript"> 
    var x=0; 
    function addNumber(x){ 
     x = x + 1; 
     return x; 
    } 

    function printNumber(number){ 
     document.getElementById("number").innerHTML=addNumber(number); 
    } 

    </script> 
    </head> 

這裏是我的HTML:

<body> 
<p><center><b>The number of times the button has been clicked is ... <b><p> 
<br> 
<div id="number"></div> 
<br> 
<form> 
    <input type="button" id="StartButton" value="Click to add 1 to counter" onClick="printNumber(x)"> 
</form> 
</center> 

任何人都可以指出我的問題出在哪裏是哪裏來的?謝謝你,這是一個編程課程,我希望其他可能遇到此問題的人也會看到這一點。

+0

'未捕獲的參考誤差:未定義printNumber'。是預期的錯誤。什麼是'myFunction'? – sabithpocker 2014-09-27 03:35:42

+0

是的,這是錯誤,對不起,我的意思是改寫錯誤,所以它會更一般 – 2014-09-27 03:36:54

+0

http://jsfiddle.net/dep5tzwg/工作正常。你可以將完整的HTML作爲單個文件發佈嗎? – sabithpocker 2014-09-27 03:39:40

回答

8

使用<script type="text/javascript">並請注意,您不能以您想要的方式增加x。你正在增加一個局部變量,而不是全局變量。

<html> 
 
    <head> 
 
     <script type="text/javascript"> 
 
     var x=0; 
 
     function addNumber(){ 
 
      x = x + 1; 
 
      return x; 
 
     } 
 
    
 
     function printNumber(number){ 
 
      document.getElementById("number").innerHTML=addNumber(); 
 
     } 
 
    
 
     </script> 
 
     </head> <body> 
 
    <p><center><b>The number of times the button has been clicked is ... <b><p> 
 
    <br> 
 
    <div id="number"></div> 
 
    <br> 
 
    <form> 
 
     <input type="button" id="StartButton" value="Click to add 1 to counter" onClick="printNumber()"> 
 
    </form> 
 
    </center> 
 
    </body> 
 
    </html>

+0

謝謝!我會盡量記住(我已經複製粘貼模板很長一段時間了,我不得不爲這個測驗做出這個代碼) – 2014-09-27 03:47:56

+0

@Clefable先生請記住,一般來說,作業問題通常不被允許在SO上,儘管我認爲在這種情況下,既然你表明你已經嘗試了一些東西,並且無法弄清楚它,這是可以接受的。請在提問時記住這一點。 – teynon 2014-09-27 03:49:38