function getPos(obj){
obj.focus();
var s=document.selection.createRange();
s.setEndPoint("StartToStart",obj.createTextRange());
return s.text.length;
} function insert(obj,insertStr){
var position=getPos(obj);
obj.value=(String)(obj.value).substring(0,position)+insertStr+(String)(obj.value).substring(position,strLength);
}
obj.focus();
var s=document.selection.createRange();
s.setEndPoint("StartToStart",obj.createTextRange());
return s.text.length;
} function insert(obj,insertStr){
var position=getPos(obj);
obj.value=(String)(obj.value).substring(0,position)+insertStr+(String)(obj.value).substring(position,strLength);
}
<input type="button" value="GetChar" onclick="getCaretPos(txt1)"><br>
<script>
function getCaretPos(obj)
{
obj.focus();
var currentRange=document.selection.createRange();
var workRange=currentRange.duplicate();
obj.select();
var allRange=document.selection.createRange();
var len=0;
while(workRange.compareEndPoints("StartToStart",allRange)>0)
{
workRange.moveStart("character",-1);
len++;
}
currentRange.select();
alert(len);
}
</script>
<BODY>
<textarea id="txa">1234567890</textarea>
<INPUT TYPE="text" id="txt" value="abc">
<input type="button" onclick="insertStrInPosition(txa, txt.value)"><br>
<script>
function insertStrInPosition(obj, val)
{
obj.focus();
var range = document.selection.createRange();
range.text = val;
}
</script>
</BODY>