2014-09-27 12 views
6

Cercando di chiamare una funzione javascript con un pulsante, e il pulsante non sta facendo nulla sul clic. Il debugger restituisce "errore di riferimento non rilevata:.. PrintNumber non è definitojavascript uncaught riferimento errore onclick

printNumber è la funzione che voglio chiamare

ho fatto una ricerca e la maggior parte delle persone con questo problema non ha utilizzato la sintassi corretta per dichiarare la loro funzione , definito la loro funzione all'interno di un'altra funzione (funzione fuori ambito), o mettere le loro funzioni dopo essere stati chiamati. Si scopre che nella mia testa non è in esecuzione, ho provato a inserire un prompt, ad esempio, e il prompt non ha mostrato . up

Ecco il mio script:

<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> 

Ecco il mio 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> 

Qualcuno può indicare a me dove il problema è venuta da? Grazie, questo è per un corso di programmazione, e spero che anche altri che potrebbero incontrarlo lo vedranno.

+0

'errore di riferimento non rilevata: printNumber non è definito.' è l'errore previsto Cos'è 'myFunction'? – sabithpocker

+0

sì, questo è l'errore, mi spiace volevo dire che riformulare l'errore in modo che fosse più generale –

+0

http://jsfiddle.net/dep5tzwg/ funziona bene. Puoi pubblicare il tuo HTML completo come singolo file. – sabithpocker

risposta

8

Utilizzare <script type="text/javascript"> e notare che non è possibile incrementare x nel modo desiderato. Stai incrementando una variabile locale, non quella globale.

<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

grazie! Cercherò di ricordarlo (ho copiato il modello per un po 'di tempo e ho dovuto creare questo codice per un quiz) –

+0

@ Mr.Clefable Tieni presente che le domande sui compiti a casa non sono generalmente consentite su SO, anche se Penso che in questo caso, è accettabile dal momento che hai dimostrato di aver provato qualcosa e non riesci a capirlo. Tienilo a mente quando fai domande. – teynon

Problemi correlati