Hola Caricatos.
Yo hice el mismo trabajo que tu pero con el foro anterior, y extraje un código que se puede probar directamente. Se lo publiqué a Zeus_bsas aqui mismo y a él no le funciona pero a mi si.
Mucho te agradecería que probaras lo que envié para saber que sucede.
En el fondo lo que tu publicas es lo mismo que lo que yo publico:
Una función es:
Código PHP:
function poner(x) {
if (formulario.textarea.createTextRange
&& formulario.textarea.caretPos) {
var Posi = formulario.textarea.caretPos;
Posi.text = Posi.text.charAt(Posi.text.length - 1) == ' ' ? x + ' ' : x;
} else {
formulario.textarea.value += x;
}
formulario.textarea.focus();
}
y la otra es:
Código PHP:
function meter(text) {
var postopic = document.PostTopic.Message;
if (postopic.createTextRange && postopic.caretPos) {
var caretPos = postopic.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
}
else postopic.value += text;
postopic.focus(caretPos)
}
A mi me funciona...¿y a ti?