Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Błąd funkcji
Forum PHP.pl > Forum > Przedszkole
Dominator
Witam

Próbuję bezskutecznie napisać skrypt, aby sam się włączał -> czyli, że gdy strona się załaduje to włącza się funkcja i będzie w kółko działać, jednakże bezskutecznie. Czy możecie mi powiedzieć co wykonuję źle ? Albo ewentualne poprawki.

  1. $(document).ready(function()
  2. {
  3. function words()
  4. {
  5. while(true)
  6. {
  7. var tekst = $("textarea").val().length;
  8. var max = 15;
  9. $("div#max").text(tekst +" / " + max);
  10. if(tekst > max)
  11. {
  12. $("div#info").text("Informacja zawiera za dużo znaków.");
  13. $("div#info").css("color","red");
  14. }
  15. else
  16. {
  17. $("div#info").css("color","green").text("GUT");
  18. }
  19. words();
  20. }
  21. words();
  22. }
  23. });
  24.  
  25. words();
peter13135
Co ja widzę biggrin.gif

Nie zapętlaj tak. Sprawdzaj to po tym, jak zawartość textarea się zmieni.
jaslanin
przeczytaj: Temat: JavaScript jesli Twoj watek go dotyczy KONIECZNIE przeczytaj

w konsoli błędów JS masz: Uncaught ReferenceError: words is not defined

w tym przypadku wynika to z tego że pierwsze wywołanie funkcji nie może w swoim zasięgu odnaleźć definicji funkcji. Jakbyś przeniósł wywołanie funkcji z końca przed

  1. });


to by zaczęło się wywoływać

Niemniej jednak to co chcesz osiągnąć inaczej się robi:

http://cssglobe.com/post/7161/jquery-plugi...t-for-textareas
google: jquery textarea character count
google: jquery textarea character limit
kamil4u
Użyj setInterval, który będzie sprawdzał na bieżąco co pewien czas. Ew. w tym przypadku lepiej użyć zdarzenia keyup/down na textarea, czyli sprawdzać w trakcie wpisywania, a nie cały czas.
Dominator
setInterval będzie dla mnie najkorzystniejszym rozwiązaniem tego wink.gif Dzięki chłopaki za pomoc smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.