[HTML]<label for="commissionschedule">
Commission Schedule<br />
<span id="charCounter">1000 characters or less</span>
</label>
<textarea id="commissionschedule" rows="10" cols="40"></textarea>[/HTML]
I'm using a standard javascript addEvent function and am attaching a keyup event to the textarea as follows:
Expand|Select|Wrap|Line Numbers
- function addEvent(elm, evType, fn, useCapture)
- // cross browser event handling
- {
- if (elm.addEventListener)
- {
- elm.addEventListener(evType, fn, useCapture);
- return true;
- } else if (elm.attachEvent)
- {
- var r = elm.attachEvent('on' + evType, fn);
- return r;
- } else
- {
- elm['on' + evType] = fn;
- }
- }
- function addListeners(e)
- {
- var commissionSchedule = document.getElementById("commissionschedule");
- addEvent(commissionSchedule, 'keyup', setCounter, false);
- }
- function setCounter() {
- var charCounter = document.getElementById("charCounter");
- var commissionSchedule = document.getElementById("commissionschedule");
- var currentLength = commissionSchedule.value.length;
- var numCharsLeft = 1000 - currentLength;
- var htmlFrag = document.createTextNode("" + numCharsLeft + " characters left");
- while (charCounter.hasChildNodes())
- charCounter.removeChild(charCounter.lastChild);
- charCounter.appendChild(htmlFrag);
- }
- addEvent(window, 'load', addListeners, false);
Any idea? Thanks a ton!