Получить позицию курсора в TextArea или Input



Исходный код этого примера:
<style>
    textarea {
        max-width: 100%;
    }
</style>
<form method="post" action="">
    <label for="ta">Вводите сюда текст:</label><br>
    <textarea id="ta" rows="5" cols="50"></textarea><br>
    <label for="cs">Позиция курсора:</label> <input id="cs" size="3">
</form>
<script>
    function getCaretPos(obj) {
         obj.focus();
         if(obj.selectionStart) return obj.selectionStart;
         else if (document.selection) {
              var sel = document.selection.createRange();
              var clone = sel.duplicate();
              sel.collapse(true);
              clone.moveToElementText(obj);
              clone.setEndPoint('EndToEnd', sel);
              return clone.text.length;
         }
         return 0;
    }
    function cleanForm() {
        document.getElementById('cs').value = getCaretPos(document.getElementById('ta'));
        setTimeout("cleanForm();", 100);
    }
    cleanForm();
</script>

.