2009-11-23 3 views
5

Próbowałem wcześniej, ale to nie działa. Czy to jest jakiś błąd w kodzie?JavaScript - Jak zaprogramować licznik kliknięć?

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

Odpowiedz

8

trzeba przesunąć linię var x = 0; gdzieś poza funkcją count, aby mogła ona być w zasięgu globalnym. Oznacza to, że zmiany wprowadzone w nim przez funkcję count będą się utrzymywać.

np.

var x = 0; 
function count() { 
    x += 1; 
    document.getElementById("counting").value = x; 
} 
+0

'document.getElementById (" zliczanie ") .value = ++ x;' będzie również ładną pojedynczą linią. –

+0

Chciałem zachować go tak blisko jego oryginalnego kodu. Miły jeden liniowiec. – barkmadley

1

X wydaje się być zadeklarowana jako zmienna lokalna, więc zostanie wyzerowane za każdym razem, gdy funkcja zostanie wywołana. Spróbuj przenieść "var x = 0;" poza funkcją (w zasięgu globalnym).

1

Inicjujesz x do 0 za każdym razem, gdy klikniesz przycisk. Wypróbuj var x=0; poza funkcją.