Estoy desarrollando un complemento para CKEditor que necesita realizar algunos cambios en el contenido del editor inmediatamente antes de guardarlo. En FCKeditor, logré esto usando el evento , pero aún no he podido encontrar una manera equivalente de hacerlo en CKEditor. Tenía la esperanza de que hubiera un evento adecuado para conectar, pero no parece haberlo. ¿Alguien sabe de una manera de hacer esto?Actualizar el contenido del editor inmediatamente antes de guardarlo en el complemento CKEditor
Respuesta
Puede usar el evento getData, pero tenga cuidado porque también está activado para usos internos.
me he presentado http://dev.fckeditor.net/ticket/5254 para recrear el evento anterior
¿Junto con la creación de mi propio controlador para el evento de envío del formulario? –
Esa sería una solución alternativa. De hecho, ese es el que elegiría en este momento porque puede ser más fácil manejarlo correctamente hasta que CKEditor genere un evento apropiado (realmente no sé lo que quieres hacer, así que supongo que debe ser algo complejo que debe hacerse solo después de actualizar el área de texto) – AlfonsoML
Mi complemento permite a un usuario incorporar partes del contenido almacenadas en un servidor diferente al contenido HTML principal. Estos se representan en el contenido del editor como imágenes de marcador de posición para evitar que se editen en CKEditor. Inmediatamente antes de que el editor guarde, quiero reemplazar estas imágenes de marcador de posición con el contenido HTML que representan, y cuando el editor cargue, quiero convertir el HTML especial en marcadores de posición (lo que puedo hacer con los eventos existentes). Quizás hay otro enfoque que debería tomar? –
Como el enlace de arriba no tiene realmente la solución en caso OnAfterLinkedFieldUpdate substitude He escrito un breve post sobre cómo ir a su alrededor.
Aquí es la forma:
<form id="my_form" action="submit.php" method="post" name="my_form">
<textarea id="my_text" name="my_text"></textarea>
<input id="submitForm" type="submit" name="submitForm" value="Submit" />
</form>
JavaScript:
var formSubmitted = false;
$("#submitForm").live('click', function(event) {
if (formSubmitted === true) {
formSubmitted = false;
return;
}
event.preventDefault();
//put here function to edit content == OnAfterLinkedFieldUpdate
var editor = CKEDITOR.instances.my_text;
var html = editor.getData();
html.replace(searchvalue, newvalue);
editor.setData(html);
formSubmitted = true;
$(this).trigger('click');
});
El código es here
- 1. Reemplazar el contenido seleccionado en el ckEditor con contenido nuevo usando javascript
- 2. ¿Obtiene el contenido de CKEditor? - jQuery
- 3. CKEDITOR, enfoque automático en el editor de texto onLoad
- 4. Cómo actualizar el recurso del complemento Eclipse?
- 5. Si se cambia el contenido en CKEditor
- 6. ¿Cómo desinfectar la entrada del usuario para una codificación adecuada del contenido antes de guardarlo?
- 7. Eliminar htmlPreview en el complemento de imagen de CKEditor
- 8. Cómo actualizar el contenido de un FigureCanvasTkAgg
- 9. Permitir el elemento web Editor de contenido
- 10. Guardar y actualizar el comando contextual del truco del navegador en el editor
- 11. ¿Hay alguna manera de anular el archivo de configuración de CKEditor para cada instancia del editor?
- 12. ¿Cómo actualizar el color del contenido de ToggleButton?
- 13. ¿Cómo configuro atributos en un objeto ActiveRecord antes de guardarlo?
- 14. ¿Cómo actualizar el contenido de ViewPager?
- 15. post_save en django para actualizar la instancia inmediatamente
- 16. CKEditor cerca de diálogo
- 17. Actualizar enlace inmediatamente cuando DataContext cambia
- 18. Complemento de contenido predeterminado en django-cms
- 19. HTML Editor WYSIWYG: por qué se mueve el contenido editable en un iFrame
- 20. Conseguir contenido HTML seleccionado en el editor TinyMCE
- 21. Cómo puedo obtener el contenido de la página web y guardarlo en la variable de cadena
- 22. CKEditor & JavaScript - Ajuste la altura y el ancho en CKEditor
- 23. Enviar el contenido de un lienzo a un servidor Java y guardarlo como una imagen
- 24. Cómo actualizar el contenido de Project Navigator en Xcode?
- 25. ¿Cómo puedo cambiar el valor de un campo de formulario de Django antes de guardarlo?
- 26. Insertar y mostrar imágenes en el editor de contenido TinyMCE en el sitio PHP
- 27. cómo ejecutar el script greasemonkey antes de que se muestre el contenido de la página?
- 28. Guardado de contenido del editor de WMD Control
- 29. Puede verificar el contenido de rsync antes de sincronizar
- 30. Diferencias entre el complemento Android NetBEANS y el complemento Eclipse?
Qué evento 'save'/función está usando? El botón "guardar"? –
Sí. El complemento será utilizado por los propietarios del sitio que ya hayan configurado CKEditor como lo hayan considerado conveniente, por lo que preferiría mantener mi complemento lo más limpio posible, lo que significa que no reemplazaré el botón de guardar estándar si es posible. Miré la fuente y mi mejor opción parece agregar un manejador de eventos 'submit' al formulario que contiene el editor, pero esto apenas califica como limpio. –