Ciao a tutti, ho una pagina html composta da diversi <p> ognuna con un id numerico. Quando l'utente clicca su uno di questi <p> esce un editor inline (ckeditor) che permette di modificare e formattare il testo.
Quando l'utente esce cliccando fuori dal contenuto editabile, l'editor viene chiuso e salvo in una variabile le modifiche fatte. Per fare ciò uso il metodo getData().
Il problema è che questo metodo ritorna una stringa e non un oggetto dom quindi vorrei trasformare questa stringa in un oggetto html.
Ho letto che posso usare:
ma non fa quello che deve perchè stampa tutt'altro.
Questo è il mio codice:
Come posso risolvere?
Grazie infinite
Quando l'utente esce cliccando fuori dal contenuto editabile, l'editor viene chiuso e salvo in una variabile le modifiche fatte. Per fare ciò uso il metodo getData().
Il problema è che questo metodo ritorna una stringa e non un oggetto dom quindi vorrei trasformare questa stringa in un oggetto html.
Ho letto che posso usare:
Codice:
var parser = new DOMParser();
var doc = parser.parseFromString(data, "text/xml");
ma non fa quello che deve perchè stampa tutt'altro.
Questo è il mio codice:
Codice:
function editorInit(id) {
var elemClicked = document.getElementById(id); //clicked element by user
if(activeEditor) {
if(activeEditor.element.getAttribute(id) == activeId) {
return;
}
activeEditor.destroy();
}
if(!(activeEditorElement = elemClicked)) {
return;
}
activeEditorElement.setAttribute("contenteditable", true);
activeEditor = CKEDITOR.inline(elemClicked);
activeEditor.on('blur', function() {
var data = activeEditor.getData();
var parser = new DOMParser()
var doc = parser.parseFromString(data, "text/xml");
console.log("doc:");
console.log(doc);
this.element.setAttribute("contenteditable", false);
activeId = '';
activeEditor = 0;
activeEditorElement = 0;
//...do something
this.destroy();
});
activeEditorElement.focus();
}
Come posso risolvere?
Grazie infinite