Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/08/2011, 16:01
ocp001a
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 8 meses
Puntos: 528
Respuesta: Insertar texto en medio de un textarea

Código Javascript:
Ver original
  1. function insertAtCaret(areaId,text) {
  2.     var txtarea = document.getElementById(areaId);
  3.     var scrollPos = txtarea.scrollTop;
  4.     var strPos = 0;
  5.     var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ?
  6.         "ff" : (document.selection ? "ie" : false ) );
  7.     if (br == "ie") {
  8.         txtarea.focus();
  9.         var range = document.selection.createRange();
  10.         range.moveStart ('character', -txtarea.value.length);
  11.         strPos = range.text.length;
  12.     }
  13.     else if (br == "ff") strPos = txtarea.selectionStart;
  14.    
  15.     var front = (txtarea.value).substring(0,strPos);  
  16.     var back = (txtarea.value).substring(strPos,txtarea.value.length);
  17.     txtarea.value=front+text+back;
  18.     strPos = strPos + text.length;
  19.     if (br == "ie") {
  20.         txtarea.focus();
  21.         var range = document.selection.createRange();
  22.         range.moveStart ('character', -txtarea.value.length);
  23.         range.moveStart ('character', strPos);
  24.         range.moveEnd ('character', 0);
  25.         range.select();
  26.     }
  27.     else if (br == "ff") {
  28.         txtarea.selectionStart = strPos;
  29.         txtarea.selectionEnd = strPos;
  30.         txtarea.focus();
  31.     }
  32.     txtarea.scrollTop = scrollPos;
  33. }

Con esta función lo puedes hacer, sólo debes pasar el id del textarea y el texto a introducir