2009-11-23 14 views
5

Ich habe es schon einmal versucht, aber es funktioniert nicht. Ist es irgendein Unrecht des Codes?Javascript - Wie programmiere ich einen Klickzähler?

<script type ="text/javascript"> 
function count() 
{ 
var x = 0; 
x += 1; 
document.getElementById("counting").value = x; 
} 
</script> 
</head> 
<body> 

<input type ="button" value = "Click" onclick = "count()"/><br><br> 
<input id = "counting" type = "text" /> 

</body> 

Antwort

8

müssen Sie die Linie var x = 0; irgendwo außerhalb der Funktion count zu bewegen, um es im globalen Bereich zu sein. Das bedeutet, dass Änderungen, die an der Funktion count vorgenommen wurden, erhalten bleiben.

z.B.

+0

'document.getElementById (" Zählen ") .value = ++ x;' wäre auch eine nette einzige Zeile. –

+0

Ich wollte es so nah an seinem ursprünglichen Code halten. Ein schöner Liner. – barkmadley

1

X scheint als lokale Variable deklariert zu sein, daher wird es jedes Mal, wenn die Funktion aufgerufen wird, auf Null zurückgesetzt. Versuchen Sie, "var x = 0;" außerhalb der Funktion (in globalen Bereich).

1

Sie initialisieren bei jedem Klicken auf die Schaltfläche x auf 0. Versuchen Sie var x=0; außerhalb der Funktion.

Verwandte Themen