2010-06-22 17 views
8

Im tratando de enviar un formulario con un tinyMCE textarea. Estoy enviando el formulario a través de javascript, y para hacer esto sé que debes llamar a tinyMCE.triggerSave para copiar el contenido del editor al área de texto oculta que reemplaza. Por mi vida, NO PUEDO obtener tinyMCE.triggerSave para hacer NADA. Sé que no es porque ejecuto el comando desde las herramientas de depuración Safari y Firefox y no hay cambios en el DOM.tinyMCE triggerSave no funciona

Aparte de este problema, tinyMCE parece estar funcionando bien, el formulario aparece y funciona. Simplemente no puedo enviarlo.

EDIT: incluso si utilizo un botón de envío de formulario estándar no recoge el contenido.

Respuesta

4

Incluí los archivos tinyMCE js dos veces. Tuve

= include_tiny_mce_if_needed 

en mi plantilla de aplicación, y que tenía

- content_for(:head, include_tiny_mce_if_needed) 

en mi archivo de vista ... BAD

me causó horas de frustración.

+1

Este fue mi caso también. Estaba desesperado. ¡Gracias! –

-3

Puede que no sea solo que haya incluido archivos js dos veces. Me encontré con un problema similar e hice una prueba rápida de ello. Aproximadamente 1 de cada 100 veces triggerSave() falló silenciosamente ... una vez que falla, está listo. No funcionará de nuevo hasta que recargue/vuelva a ejecutar un archivo completo. Tinymce.init()

Moraleja de la historia, no confíe en triggerSave()! Tarde o temprano terminarás perdiendo datos críticos.

+3

Entonces, ¿qué deberíamos usar entonces? –

7

También puede encontrarse con este problema si inicializa el mismo editor dos veces con tinymce.execCommand ('mceAddControl', true, id);

No se mostrará ningún error pero la función triggerSave fallará en silencio.

+0

Eso lo hizo por mí. ¡Gracias un montón! – Olaf