Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/03/2003, 09:47
Avatar de Cain
Cain
 
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 4 meses
Puntos: 17
El código que estoy manejando es el siguiente:

Código:
<script language="Javascript">
function meter(text) {
   var postopic = document.form1.text;
   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)
}

function codigo(accion) {
a=document.selection.createRange();
seleccio = a.text;
if (seleccio == '') {seleccio=prompt("Text", ""); lloc = "final";}
   switch(accion) {
    case "url":
     url = prompt("URL de l'Enllaç", "http://");
      url="<a="+url+">"+seleccio+"</a>";
      meter(url);
     break;
    case "negreta":
      negreta="<b>"+seleccio+"</b>";
      meter(negreta);
     break;
    case "cursiva":
      cursiva="<i>"+seleccio+"</i>";
      meter(cursiva);
     break;
    case "color":
     color = prompt("Color de l'Enllaç (#012345)", "#");
      color="<font color="+color+">"+seleccio+"</font>";
      meter(color);
     break;
    case "mida":
     mida = prompt("Mida del text (en punts)", "#");
      mida="<font size="+mida+">"+seleccio+"</font>";
      meter(mida);
     break;
    default:
     meter(accion);
     break;
   }
}
</script>
El formulario se llama form1 i el textarea text.

Ahora he conseguido que rodee lo que selecciono con las etiquetas necesarias, pero me lo añade al final del textarea en lugar de añadirlo en el sitio donde esta originalmente.

Ejemplo:

"Hoy hace un buen día"

Selecciono buen, hago negrita y en lugar de darme:

"Hoy hace un <b>buen</b> día" (efecto deseado)

Me da:

"Hoy hace un buen día<b>buen</b>"

¿Qué retoques debo hacerle al código para obtener el efecto deseado?
__________________
M a l d i t o F r i k i