I have a simple Post Logic using ajax:
<div class="form-group">
<label for="text-longtext-<?php echo $longtext['id'] ?>">
Text
</label>
<textarea class="form-control longtext" rows="1"
id="text-longtext-<?php echo $longtext['id'] ?>">
<?php echo $longtextContent['text'] ?>
</textarea>
</div>
<script>
let elem = document.getElementById('text-longtext-'+'<?php echo $longtextContent['id'] ?>')
tinymce.init({
target: elem
});
</script>
Preparing Data for AJAX call:
$('.saveForm').click(function (e) {
e.preventDefault();
e.stopPropagation();
let form = $(this).closest("form");
...
...
let obj = {
"..":"..",
"..":"..",
"..":"..",
"longtext": form.find(".longtext").val()
}
console.log(obj)
ajaxCall(obj);
})
Every other inputs are stored to DB, but without tinyMCE textarea formated text.
console.log(obj)
- shows empty "longtext" (contentListInfotext)
What is wrong?
tinyMCE.triggerSave(); did the job.