Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Feedeex en 24 Diciembre 2010, 08:08 am



Título: Insertar emoticonos en javascript
Publicado por: Feedeex en 24 Diciembre 2010, 08:08 am
Hola a todos. Quiero hacer un sistema de comentarios algo asi como cuando se escribe una respuesta/crea un tema en los foros, que arriba de el lugar para escribir aparecen los emoticonos, entre otras cosas.
Se como hacer la parte de php con str_replace();, como "ordenar" los emoticonos/bbcodes ahí arriba (insertaría una imágen al lado de la otra) pero... no se como se hace para cuando le das click a una, en el <textarea> aparece lo que clickeaste.

Por ejemplo clickeo la b que sabemos que es negrita, y acá abajo aparece [*b][/*b]. ¿Cómo se hace eso?. ¡Muchas gracias!


Título: Re: Insertar emoticonos en javascript
Publicado por: madpitbull_99 en 24 Diciembre 2010, 17:03 pm
Con el evento onclick()
Código
  1. function insertar_emoticono(el_texto) {
  2. tu_textarea.value += tu_texto;
  3. }

Luego desde el botón llamas a onclick() pasándole los argumentos:

Código
  1. <input type=button onclick="insertar_emoticono('xD')" value="xD" />

Después tienes que convertir el emoticono en la imagen correspondiente:

Código
  1. tu_texto = tu_textarea.value.split("xD").join("<img src=/images/icono_xD.gif />");


Adapta eso a tus necesidades, doy por hecho que sabes algo de JS, ya que los ejemplos son una especie de pseudocódigo.


Título: Re: Insertar emoticonos en javascript
Publicado por: Feedeex en 24 Diciembre 2010, 19:55 pm
Si, lo básico se nada más. Y ya comprendí el código, lo adaptaré a gusto seguramente con php.

Muchas gracias amigo.


Título: Re: Insertar emoticonos en javascript
Publicado por: Feedeex en 24 Diciembre 2010, 23:15 pm
Por cierto, me surge otra duda. Si yo acomodo el código este, al clickear en por ejemplo xD se escribiría 'xD' en el textarea pero.. ¿qué pasa si yo tengo sombreada una palabra y clickeo 'xD'?, ¿la sustituye?, porque ahí mi idea sería que [xD]Deje lo sombreado[/xD] es decir, que lo ponga en un principio y en un fin. De hecho en casi todos los lados lo hace... ¿eso es automático del navegador o también se programa?.


Título: Re: Insertar emoticonos en javascript
Publicado por: flacc en 25 Diciembre 2010, 04:33 am
amm, yo no se mucho de esto, pero si la etiqueta fuera con sombreado seria

<sombreado   variable>

no se si me explico, pero teóricamente con html si le aplicas un estilo a la variable, no importa lo que este escrito, sino que estará  sombreado... tu solo usa los la etiqueta "style" ... ahora si estoy en un error solo corriganme...saludoss


Título: Re: Insertar emoticonos en javascript
Publicado por: madpitbull_99 en 25 Diciembre 2010, 13:23 pm
Por cierto, me surge otra duda. Si yo acomodo el código este, al clickear en por ejemplo xD se escribiría 'xD' en el textarea pero.. ¿qué pasa si yo tengo sombreada una palabra y clickeo 'xD'?, ¿la sustituye?, porque ahí mi idea sería que [xD]Deje lo sombreado[/xD] es decir, que lo ponga en un principio y en un fin. De hecho en casi todos los lados lo hace... ¿eso es automático del navegador o también se programa?.

No, la función que te he dejado no hace eso, simplemente inserta el emoticono en el textarea.

Para eso tendrías que mirarte el manejo de cadenas en javascript (http://www.google.es/#hl=es&expIds=17259,18167,24999&xhr=t&q=manejo+de+cadenas+javascript). Una opción seria sustituir el texto seleccionado por: [ b] + [texto seleccionado] + [ /b] añadiéndole las etiquetas bbcode correspondientes.


Título: Re: Insertar emoticonos en javascript
Publicado por: Feedeex en 25 Diciembre 2010, 21:31 pm
Gracias :D