Potrafimy już stworzyć licznik znaków wpisanych do określonych pól formularza. Teraz trochę poeksperymentujemy, dodając funkcjonalność podobną np. do serwisu SMS Orange (http://sms.orange.pl). Chodzi o limit znaków w elementach textarea.
Na początku ustalamy dozwoloną liczbę znaków, którą będzie można wpisać do formularza. Po przekroczeniu tego limitu wyświetli się ostrzeżenie, a wartość formularza wróci do stanu przed jego przekroczeniem.
Dysponujemy dokumentem HTML (listing 1):
Strona z formularzem
Z listingu tego wynika, że po wpisaniu jakiegokolwiek znaku z klawiatury w polu Treść wykona się funkcja Licz. Ta z kolei odpowiedzialna jest za policzenie wszystkich znaków ze wspomnianego elementu formularza. Ich liczbę pokazuje w:
W związku z tym funkcja musi \”wiedzieć\”, jaki jest limit znaków. Przedstawmy go w postaci zmiennej o nazwie np. limit. Musimy teraz postanowić, jaką wartość będzie mieć ta zmienna, czyli ile znaków będzie można wpisać w pole Treść. Powiedzmy, że będzie to 500 znaków. Czas teraz na uzupełnienie funkcji Licz o tę zmienną:
function Licz()
{
var limit = 500;
// pozostała część funkcji
W ten sposób funkcja Licz ma dostęp do wartości zmiennej o nazwie limit. Gdybyśmy jednak chcieli, aby wszystkie funkcje w skrypcie mogły z niej korzystać, należy zmienną zdefiniować poza kodem funkcji, czyli tam, gdzie mamy np. window.onload = Laduj;. Wyglądałoby to tak: