Foros del Web » Programando para Internet » Javascript »

Como puedo hacer esot

Estas en el tema de Como puedo hacer esot en el foro de Javascript en Foros del Web. Lo que necesito hacer es que al marcar un texto que esta dentro de un edit y haga click en un boton me haga esto: ...
  #1 (permalink)  
Antiguo 11/07/2004, 14:14
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Como puedo hacer esot

Lo que necesito hacer es que al marcar un texto que esta dentro de un edit y haga click en un boton me haga esto:
Cita:
[ b ]Texto en negritas[ /b ]
Salu2
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 11/07/2004, 17:05
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola Reynier:

En esta página tienes un sencillo ejemplo y un link para bajarte la librería que yo uso:
http://www.pepemolina.com/editor/editor.html

Si necesitas ayuda para adaptarlo a tus necesidades, avisa.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 11/07/2004, 18:28
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Ya lo vi pero

Caricatos ya he visitado el link que me dejaste y he bajado el script pero ahora mi código es este:
Código PHP:
function storeCaret(text) {
 if (
text.createTextRange) {
  
text.caretPos document.selection.createRange().duplicate();
 }
}

function 
meter(text) {
 var 
postopic document.librodevisitas.mensaje;
 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 
BBCode(accion){
 switch(
accion){
  case 
"negrita"
   
negras prompt("Texto en Negritas","");
   if(
negras){
    
negras="[b] "+negras+" [/b]";
    
meter(negras);
   }
  break;
  case 
"cursiva":
   
italica prompt("Texto en Cursiva""");
   if(
italica) {
    
italica="[i] "italica +" [/i]";
    
meter(italica);
   }
  break;
  case 
"subrayado"
   
subrayado prompt("Texto Subrayado""");
   if(
subrayado) {
    
subrayado="[u] "+subrayado+" [/u]";
    
meter(subrayado);
   }
  break;
  case 
"derecha":
   
right "[right]  [/right]";
   
meter(right);
  break;
  case 
"centrado":
   
center "[center]  [/center]";
   
meter(center);
  break;
  case 
"izquierda":
   
left "[left]  [/left]";
   
meter(left);
  break;
  case 
"justificado":
   
justify="[justify]  [/justify]";
   
meter(justify);
  break;
  default:
    
meter(accion);
  break;
  }
 } 
como puedo adaparlo o mejor dicho agregarlo a ese script editor.js para que me funcione de la misma forma que me funcionaba antes. Las llamadas las hago así:
Código PHP:
 onClick=BBCode('negrita'); 
Salu2
__________________
Ing. Reynier Pérez Mira
  #4 (permalink)  
Antiguo 11/07/2004, 18:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Por lo que he visto solo tienes que cambiar el contenido de la función meter...

Prueba con esto:

function meter(texto) {
_insertar(document.librodevisitas.mensaje, texto)
}

No se si has visto el contenido de la página, pero creo que he detallado su uso.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 11/07/2004, 20:47
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Pues caricatos

Claro que he leido lo que dice la pagina sobre el script pero el problema es que no me lio mucho con JavaScript. Ahora la cosa es que los elementos del form se crean en dependencia de la accion que haga el usuario, o sea, no tiene sentido que si el usuario da click en mostrar se muestre ademas de las firmas el formulario para firmar el libro cuando esto lo hago por separado. Mas o menos funciona así:
si accion = mostrar
acciones de mostrar
sino si accion = firmar
formulario de firmar
ahora si tratase de iniciar las cosas como se indica en la pagina, esto:
Código:
<body onload="elEditor = ini_editor(elTextarea)">
me daria error en caso de que el usuario lo que estuviera haciendo fuese ver las firmas porque como te explique antes no se crea el form cuando accedes a la pagina sino que se espera una accion por parte del usuario. Entoces que me recomiendas hacer o como puedo solucionar el problema.

Salu2
__________________
Ing. Reynier Pérez Mira
  #6 (permalink)  
Antiguo 12/07/2004, 01:08
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

No te preocupes ... si creas el formulario con un botón, puedes hacer que ese mismo botón inicialice el formulario después de crear el textarea ... :
<input type="button" onclick="crearLibro(); elEditor = ini_editor(elTextarea);"
...

Tal como dice en la página del ejemplo, la variable elEditor (o como quieras llamarla) tiene que ser global.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:23.