[ m.stojanov @ 17.07.2010. 21:54 ] @
Pozdrav svima. Pokusao sam da napravim brojac karaktera kao na Twitter-u - dakle, na osnovu onKeyUp eventa pozivam f-ju koja radi sav posao. Evo kako to izgleda:

Code:
<html>
    <head>
        <title>Brojac reci</title>
        <script src="script.js" type="text/javascript"></script>
        <style type="text/css">
            h3 { color: gray; }
        </style>
    </head>
    
    <body>
        <form action="#" method="">
        
        <textarea id="myText" rows="4" cols="50"></textarea><br />
        <h3 id="textLengthInfo">0/16 chars used!</h3>
        <input id="submit" type="submit" name="submit" value="Post!" />
        </form>
    </body>
</html>


Code:
window.onload = initAll;

//set maximum number of chars
var maxNumChars = 16;

function initAll() {    
    var textBox = document.getElementById("myText");    
    textBox.onkeyup = countChars;    
}

function countChars() {        
    var textLengthInfo = document.getElementById("textLengthInfo");
    var submitButton = document.getElementById("submit");
    currentNum = this.value.length;
    textLengthInfo.innerHTML = currentNum + "/" + maxNumChars +" chars used!";
    if(currentNum > maxNumChars) {
        textLengthInfo.style.color = "red";
        textLengthInfo.style.fontWeight = "bold";
        submitButton.disabled=true;
    } else {
        textLengthInfo.style.removeProperty("color");
        textLengthInfo.style.removeProperty("fontWeight");
        submitButton.disabled=false;
    }
}


A uzivo mozete videti ovde:

http://pakito.iz.rs/javascript-lastfm-demo/

Sve je okej, osim te jedne stvari - kako da prebrojim karaktere kada korisnik pastuje neki tekst? Koji bi to event bio? Trazio sam po netu, i procitao sam na forumima da tako nesto ne postoji. Sa druge strane, znam da moze, jer na Twitteru to radi. Na last.fm-u ne.

Pokusao sam sa onChange eventom, mada to nije dobro, zato sto se detektuje promena tek nakon sto textarea izgubi fokus. Dakle, imate neki predlog?
[ kazil @ 17.07.2010. 22:18 ] @
Ne znam da li si nesto usput menjao na kodu, ali ja sam upravo na tvom demou, nakon c/p teksta, dobio izbrojane karaktere. Firefox 3.6.6 na Ubuntu 10.04. Tako da po meni tvoj brojac radi.
[ m.stojanov @ 17.07.2010. 22:25 ] @
Verovatno si c/p radio preko tastature i to je okej i treba da radi jer si time pozvao onkeyup event. Ali mene interesuje kako da izbrojim karaktere kada kopiram misem.
[ kazil @ 17.07.2010. 22:46 ] @
Probaj oninput event http://help.dottoro.com/ljhxklln.php za Mozilla i onpaste za IE http://www.java2s.com/Code/Jav...Handlers-Reference/onPaste.htm
[ m.stojanov @ 17.07.2010. 22:59 ] @
Hvala na savetu.

Pokusao sam oninput. Medjutim, radi samo na Chrome-u, kod mene, na Firefox-u NE (iako pise na linku da radi na FF).

Jos jednom, bas ti hvala.
[ kelja @ 18.07.2010. 02:15 ] @
Evo resenja:
http://tomdeater.com/jquery/character_counter/
[ m.stojanov @ 18.07.2010. 12:33 ] @
Hvala puno, to je to.