Dynamiczny licznik znaków zawartych w textarea

2011-03-19 20:17:07 Post #21 nospor

 
Co ty masz za FireFox, że ci FireBug nie działa? Toż to działa wszędzie

Dobra, zmień te linijki:
var mlength = field.getAttribute ? parseInt(field.getAttribute("maxlength")) : ""; // pobieramy znacznik maxlength z textarea
if (field.getAttribute && field.value.length > mlength){
field.value = field.value.substring(0, mlength);
}

na:
var mlength = 2500;
if (field.value.length > mlength){
field.value = field.value.substring(0, mlength);
}

2011-03-19 20:40:48 Post #22 fastlone

 
Lol... Zamieniłem wszystko tak jak mówiłeś, dalej jestem ciemny :X A raczej FireFox, na którym to dalej nie działa. Dla pewności sprawdziłem, czy działa na innych - Chrome i IE8 ok.
Dla pewności, cały kod wygląda tak:
function LiczZnaki(field,cnt,maxchar) { // począek funkcji

var mlength = 2500;

var obj = field.value.length; //obj = 1000
var jednaCzwarta = maxchar / 4; //750
var jednaTrzecia = maxchar / 3; //1000
var jednaDruga = maxchar / 2; //1500
var koniec = maxchar / 1.2; // 2500

if (field.value.length > mlength){ 

field.value = field.value.substring(0, mlength); 

}

if (field.value.length <= maxchar) { //jesli długość ciagu jest mniejsza badz rowna maxchar 
    cnt.innerHTML = ( field.value.length + '/' + maxchar ); // wyswietlamy cyferke informującą o liości znaków.
}
else{
    cnt.innerHTML = ("Error"); // jesli jakimś cudem w polu bedzie wiećęj znaków od maxchar pokazujemy Error
}

if(obj <= jednaCzwarta ){cnt.style.color = '#128409';}
else if(obj > jednaCzwarta && obj <= jednaTrzecia ) {cnt.style.color = '#778409';}
else if(obj > jednaTrzecia && obj <= jednaDruga){cnt.style.color = '#f5a749';}
else if(obj > jednaDruga && obj <= koniec){cnt.style.color = '#ca5217';}
else if(obj >= koniec){cnt.style.color = '#c51d1d';}

return true;
} // koniec LiczZnaki();

2011-03-19 20:47:42 Post #23 nospor

 
Masz to gdzieś dostępne online? Sam to bym wówczas sprawdził na FireBugu bo tak to ruski miesiąc możemy się bujać

2011-03-19 21:30:12 Post #24 Comandeer

 
Już mówiłem 2 miesiące temu czemu nie działa :/ Ten kod działa tylko w quirks! moja poprawiona wersja działa wszędzie, poczynając od pradziadka IE 5

2011-03-23 15:26:59 Post #25 fastlone

 
Przetestowałem na firebugu.. Wyskoczył komunikat: cnt1 is not defined. Reszty pól (1-5) dotyczy ten sam błąd.

@edit
Dobra, już się nie męczmy. Wziąłem kod Comandeera, dodatkowo cnt1 itd. umieściłem w apostrofach. Trybi.
Dzięki za pomoc

Odpowiedz

< 1 2

Skrypty użytkowników

  1. Klasa obsługi szablo... Lirdoner
  2. Sekcje user76
  3. Klasa walidująca for... user76
  4. Licznik Gości online korey
  5. Form Builder Comandeer
  6. Dynamiczny licznik z... korey
  7. Captcha Comandeer