wavesurf, Here is a function that I found somewhere on the net which should do what you want--it works in IE and Mozilla/Firefox I have added some comments for clarity.
<script type="text/javascript">
<!--
//myField accepts an object reference, myValue accepts the text strint to add
function insertAtCursor(myField, myValue) {
//IE support
if (document.selection) {
myField.focus();
//in effect we are creating a text range with zero
//length at the cursor location and replacing it
//with myValue
sel = document.selection.createRange();
sel.text = myValue;
}
//Mozilla/Firefox/Netscape 7+ support
else if (myField.selectionStart ¦¦ myField.selectionStart == '0') {
//Here we get the start and end points of the
//selection. Then we create substrings up to the
//start of the selection and from the end point
//of the selection to the end of the field value.
//Then we concatenate the first substring, myValue,
//and the second substring to get the new value.
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos)+ myValue+ myField.value.substring(endPos, myField.value.length);
} else {
myField.value += myValue;
}
}
//-->
</script>
<style type="text/css">
</style>
</head>
<body>
<!--and now the test html--//>
<textarea id="myText" rows="8" cols="70"></textarea>
<button onclick="insertAtCursor(document.getElementById('myText'),'Test Text')">Add Test Text</button>
</body>
Hope this helps,
ajkimoto