2014-09-27 67 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