Comunidad de diseño web y desarrollo en internet online

WYSIWYG tinymce en Ajax

Citar            
MensajeEscrito el 10 Nov 2007 12:08 am
Buenas, soy nuevo en el foro (aunque ya llevo tiempo leyendo los tutoriales)

Resulta que tengo un problemilla con un WYSIWYG para textareas, el cual no logro hacerlo funcionar en una página llamada mediante AJAX...

El WYSIWYG se llama tinymce y funciona de la siguiente manera:

Código :

<script language="javascript" type="text/javascript" src="../jscripts/tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
   tinyMCE.init({
   mode : "textareas"
   });
</script>
<textarea>funciona el WYSIWYG</textarea>


De este modo el textarea queda con el WYSIWYG, el problema resulta cuando el textarea se encuentra en otra página que luego sera llamada mediante AJAX. Al llamarla se vera como un textarea tradicional.

Código :

<script language="javascript" type="text/javascript" src="../jscripts/tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
   tinyMCE.init({
   mode : "textareas"
   });
</script>
<div id='contenedor'>
      <p>Aqu&iacute; vendra la p&aacute;gina llamada por AJAX(ajaxeame.php)</p>
</div>


ajaxeame.php

Código :

    <textarea>Se ve como un textarea com&uacute;n</textarea>


Alguna idea de como solucionar esto?... Muchas gracias de antemano.

Por ShotoKan

45 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 10 Nov 2007 10:51 am
Tienes que llamar a la página por ajax y seguido instanciar el objeto tinyMCE. Otra forma de hacerlo sería enviar la instanciación en un script junto al archivo cargado con ajax y evaluar ese script para su ejecución. La primera forma es más rápida y facil.

Por frenadoll

922 de clabLevel

6 tutoriales

Genero:Masculino  

Barcelona

firefox
Citar            
MensajeEscrito el 10 Nov 2007 06:40 pm
Gracias por la info, pero como haría eso?... porque ya he intentado instanciandolo en el archivo donde estara el textarea; sin embargo no funciono ya que por alguna razón que desconocsco, si la página que se llama por el AJAX tiene cualquier código JS no funciona.

La unica manera en que logro cargar un script JS en una página llamada por Ajax, es poniendo el código antes del ajax.responseText... así:

Código :

function cargarContenido(){
   var t1, t2, contenedor;
   contenedor = document.getElementById('contenedor');
   t1 = document.getElementById('texto1').value;
   t2 = document.getElementById('texto2').value;
   ajax=nuevoAjax();
   ajax.open("POST", "ejemploajax2.php",true);
   ajax.onreadystatechange=function() {
      if (ajax.readyState==4) {
         //Aquí meto el script de JS, justo antes del ajax.responseText
         contenedor.innerHTML = ajax.responseText
       }
   }
   ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   ajax.send("t1="+t1+"&t2="+t2)
}


He intentado definir el tinyMCE antes del ajax.responseText pero no funciona, creo que es porque necesita la libreria /jscripts/tiny_mce/tiny_mce.js antes de definirla... pero no se como hacer un include o algo parecido en JS.


Código :

if (ajax.readyState==4) {
                        // como includear tiny_mce.js???
                        tinyMCE.init({mode : "textareas"});
         contenedor.innerHTML = ajax.responseText
       }

Por ShotoKan

45 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.