[ gagacar @ 14.02.2009. 20:29 ] @
Pozdrav svima,

Hocu da napravim formu za postavljanje oglasa, pa mi je potreban brojac karaktera za oglase. Da li neko zna gde mogu da nadjem script, posto pretpostavljam da se tako nesto realizije preko javascripta.


Unapred Hvala!
[ Nikola Poša @ 14.02.2009. 21:37 ] @
Mislish da broji karaktere svaki put kad korisnik pritisne neki taster na tastaturi? To mozhe da se reshi u nekoliko linija koda, tako da mozhesh i sam da probash da odradish tu skriptu...

Evo npr. ovo mozhe da bude ta JavaScript f-ja:
Code:

function prebrojKaraktere(tekst, max_br) {
    var broj = tekst.length;
    var rez = max_br - broj;    
    
    if (rez <= 0) {
        document.getElementById('broj_karaktera').innerHTML = 'Broj preostalih karaktera: 0!';
    }
    else {
        document.getElementById('broj_karaktera').innerHTML = 'Broj preostalih karaktera: ' + rez;
    }
}

A u HTML kodu bi se ta f-ja pozivala na onkeyup u nekom textarea tag-u, ovako:
Code:

<p>Tekst oglasa: <span id = "broj_karaktera">Broj preostalih karaktera: 500</span></p>
<textarea name = "tekst" rows = "10" cols = "20" onkeyup = "prebrojKaraktere(this.value, 500);"></textarea>


Nadam se da mozhesh da povezhesh ovo shto sam ispisao...
[ gagacar @ 14.02.2009. 23:00 ] @
To je to! Hvala!

Jedini problem je taj sto on ne blokira unos kad se ispuni limit. Kako bi mogalo da se resi taj problem?
[ Nikola Poša @ 15.02.2009. 09:19 ] @
Pa mozhesh ti da blokirash unos (u tom prvom if-u treba da dodash ovako neshto: document.imeForme.tekst.disabled = true;), ali posle korisnik nikako nece moci da "odblokira" to tekstualno polje, jer se pri disable-ovanju automatski gubi i fokus sa tog polja, i kad bi pocheo da lupa backspace na tastaturi, nishta se ne bi deshavalo. :) Uostalom, probaj i sam pa cesh videti u chemu je problem...

Dovoljno je da on vidi da je prekorachio karaktere, a ako bash nece da "slusha" :), ti mu onda pri nekoj validaciji (bilo kroz JS ili PHP), kazhesh da je maksimalan broj karaktera u tom polju 500 (u ovom primeru koji sam ja ispisao), i on ce onda znati da treba da ispravi unos u tom polju...