Je sais que pour CKEDITOR4, vous pouvez obtenir les données textarea comme ceci:Comment obtenir des données d'exemple CKEDITOR5
var content = CKEDITOR.instances['comment'].getData();
Comment est-ce fait pour CKEDITOR5?
Je sais que pour CKEDITOR4, vous pouvez obtenir les données textarea comme ceci:Comment obtenir des données d'exemple CKEDITOR5
var content = CKEDITOR.instances['comment'].getData();
Comment est-ce fait pour CKEDITOR5?
Vous trouverez la réponse dans le guide Basic API. Fondamentalement, dans CKEditor 5, il n'y a pas de référentiel global d'éditeurs (comme l'ancienne variable globale CKEDITOR.instances
). Cela signifie que vous devez garder la référence à l'éditeur que vous avez créé et utiliser cette référence une fois que vous aurez envie de récupérer les données:
ClassicEditor
.create(document.querySelector('#editor'))
.then(editor => {
editor.getData(); // -> '<p>Foo!</p>'
})
.catch(error => {
console.error(error);
});
Si vous avez besoin de récupérer les données sur d'autres occasions (qui serait lire juste après l'initialisation de l'éditeur, à droite;)), puis enregistrez la référence à l'éditeur dans un objet partagé de l'état de votre application ou d'une variable dans le champ d'application:
let theEditor;
ClassicEditor
.create(document.querySelector('#editor'))
.then(editor => {
theEditor = editor; // Save for later use.
})
.catch(error => {
console.error(error);
});
function getDataFromTheEditor() {
return theEditor.getData();
}
Voir cette jsFiddle: https://jsfiddle.net/2h2rq5u2/
EDIT: Si vous devez gérer plusieurs instances d'éditeur, voir CKEDITOR 5 get editor instances.