cerca con chiave caretpos
di seguito un esempio per inserire smile (o tag singoli) che funziona anche con mozilla e affini
codice:
<script type="text/javascript">
function sml(code){
var obj=document.modulo.message;
if (document.selection && document.selection.createRange()) {
obj.focus();
var sel=document.selection;
var rng=sel.createRange();
rng.colapse;
rng.text=code;
} else if(obj.selectionEnd){
var lng=obj.textLength
var from=obj.selectionStart
var to=obj.selectionEnd
obj.value=obj.value.substring(0,from)+code+obj.value.substring(to,lng)
} else obj.value+=code;
obj.focus();
}
</script>
<form name="modulo">
<textarea name="message"></textarea>
<input type="button" value=" :) " onclick="sml(' :) ')">
</form>
ciao