I m using tinyMCE for textareas and POSTing form through AJAX.
But when I m trying to save textarea value, it is taking old values on first click, but it takes updated values on second click.
I have tried using tinyMCE.triggerSave() but it didn't work.
I have also tried tinyMCE.get('myid').getContent(), still it takes old values.
My code is as follows.
$(".submit").live("click", function () {
tinyMCE.triggerSave();
var f = $(this).parents("form");
var action = f.attr("action");
var serializedForm = f.serialize();
//tinyMCE.triggerSave(); also tried putting here
$.ajax({
type: 'POST',
url: action,
data: serializedForm,
async: false,
success: function (data, textStatus, request) {
$(".divform").html(data);
},
error: function (req, status, error) {
alert&("Error occurred!");
}
});
return false;
});
Please help, any help would be appreciated
You can configure TinyMCE as follows to keep the values of hidden textareas in sync as changes are made via TinyMCE editors:
tinymce.init({
selector: "textarea",
setup: function (editor) {
editor.on('change', function () {
tinymce.triggerSave();
});
}
});
With this in place, you can access up-to-date values directly from the textarea elements at any time.
This has been tested on TinyMCE 4.0
Demo running at: http://jsfiddle.net/9euk9/
Use this instead of tinymce.triggerSave();
$('#' + 'your_editor_id').html( tinymce.get('your_editor_id').getContent() );
An alternative implementation to the one posted by Dan Malcolm, for TinyMCE 3.x, would be as follows:
tinymce.init({
selector: "textarea",
setup: function (editor) {
editor.onChange.add(function() {
editor.save();
});
}
});
As well as working on 3.x, this version uses editor.save instead of tinymce.triggerSave, which means it only updates the current editor rather than all editors in the page.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With