Foros del Web » Programando para Internet » Javascript »

[Solucionado ]envolver con bbcode

Estas en el tema de [Solucionado ]envolver con bbcode en el foro de Javascript en Foros del Web. Holas pues que he buscado en varias partes y no doy con ello a lo mejor pregunto mal pero weno.... lo que deseo hacer es ...
  #1 (permalink)  
Antiguo 29/03/2007, 20:44
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
[Solucionado ]envolver con bbcode

Holas pues que he buscado en varias partes y no doy con ello a lo mejor pregunto mal pero weno....
lo que deseo hacer es envolver como lo hace este foro cuando le doy a la negrita por ej... y selecciono el texto que deseo agregarle un bbcode me explico con mi codigo mejor

Código:
<HTML>
<HEAD>
<script language="JavaScript">
<!--
function caritas(Which){
document.ingreso.descripcion.value = document.ingreso.descripcion.value + Which;
}
// -->
</script>
 </HEAD>
 <BODY>
<form name="ingreso">
<a href="javascript:caritas('[*b][*/b]')"><img src="../anp/admin/imagenes/negrita.gif" border="0" title="Negrita"></a>
<a href="javascript:caritas('[*center][*/center]')"><img src="../anp/admin/imagenes/centrar.gif" border="0" title="Centrar"></a>
<a href="javascript:caritas('[hr]')"><img src="../anp/admin/imagenes/hr.gif" border="0" title="Separador"></a>
<textarea cols="46" rows="4" id="descripcion" name="descripcion" wrap="VIRTUAL" onblur="this.style.backgroundColor='<?php echo "$color1";?>', this.style.color='<?php echo "$color2";?>'" onfocus="this.style.backgroundColor='<?php echo "$color3";?>', this.style.color='<?php echo "$color4";?>'"></textarea>
</form>
</BODY>
</HTML>
si escrivo en el textarea :

Holas como estan... y con el mouse selecciono --- Holas como estan...
y luego le doy a la imagen donde aparece la negrita el bbcode me va al final
quedando
Holas como estan.. [*b][/*b]
cuando a mi me gustaria que quedara [*b]Holas como estan..[*/b]
o sea que lo envuelva...

espero haberme explicado bien, he visto unos codigos pero no entiendo mucho :/
bueno si alguien me puede ayudar a mejorar mi codigo para que haga lo que necesito le estaroa agradecido

pd: puse unos * en algunas partes ya que no me salian los codigos

saludos :)
__________________
Gokuh Salvo al mundo. PUNTO!!!!

Última edición por kaninox; 30/03/2007 a las 17:06 Razón: Solucionado
  #2 (permalink)  
Antiguo 29/03/2007, 23:33
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: envolver con bbcode

Miraste esto?
faq.244
  #3 (permalink)  
Antiguo 30/03/2007, 01:47
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: envolver con bbcode

Hola:

Puedes bajarte un script desde esta página: Editor de texto que es muy parecido al código que plantea Panino5001 (¡Hola Andrés !) con quien hemos coincidido en algún que otro tema sobre este asunto.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 30/03/2007, 01:51
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: envolver con bbcode

Hola, Pepe! Todavía estoy analizando tu laberinto, je!
  #5 (permalink)  
Antiguo 30/03/2007, 08:22
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: envolver con bbcode

Hola:

kaninox: He visto que pusiste un comentario en el enlace que te puse, y el problema que comentas no era del script en sí, sino en una función auxiliar donde se "formatea" la selección activa en base a una instrucción javascript: prompt.

He modifcado el método y ya funciona bien (si no lo es me gustaría que me lo dijeses)... la función quedaría así:

Código:
function formatear(boton, estilo)	{
	boton.style.borderStyle = "inset";
	_seleccion = _lector();
	_resultado = prompt(estilo + ":", _seleccion);
	if (_resultado == null)
		_insertar(elEditor, _seleccion);
	else
		_insertar(elEditor, '[' + estilo + ']' + _resultado + '[/' + estilo + ']');
	boton.style.borderStyle = "outset";
}
Cualquier otro problema que tengas me gustaría que me lo comunicases.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 30/03/2007, 15:22
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: envolver con bbcode

Que bien man gracias por la rapida respuesta, hay manera de que se pudiera hacer sin el alert? que al seleccionar el texto le ponga los bbcode... de todas maneras es lo que andaba buscando muchas gracias :)

lo otro intente insertar este comentario en tu web y me salia que era imposible weno gracias por tod caricatos saudos
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #7 (permalink)  
Antiguo 30/03/2007, 15:50
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: envolver con bbcode

Hola:

Para quitar el prompt (no es alert), bastaría usando solo una línea:

function formatear(boton, estilo) {
_insertar(elEditor, '[' + estilo + ']' + _lector() + '[/' + estilo + ']');
}

... claro que de esa manera el parámetro boton no tiene sentido...

Lo de poner comentarios, será por el código captcha (la imagen con la clave)... pero no importa.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 30/03/2007, 17:05
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: envolver con bbcode

andales tal como queria muchas gracias por tu tiempo :D
esta solucionado :)
__________________
Gokuh Salvo al mundo. PUNTO!!!!
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 00:28.