我试着做些简单的事情:
将HTML从TinyMCE编辑器复制到textarea (以编程方式).
如何复制:
tinymce_apply_function(function(editor){
$(editor.getElement()).html(editor.getContent());
});描述:这里我将HTML从TinyMCE复制到<textarea>。我需要它,因为它之后,$('form').serializeArray();将执行,从表单到所有字段都将保存到数据库中。
关于tinymce_apply_function():
/**
* applies function for all editors
* @param par_callback
*/
function tinymce_apply_function(par_callback) {
if (common.tinymce) {
for (var i = 0; i < tinyMCE.editors.length; i++) {
par_callback(tinyMCE.editors[i]);
}
}
}描述:只需为所有TinyMCE编辑器应用一些功能(页面可能有多个TinyMCE编辑器)
最后,我做到了:
<textarea><textarea>放到TinyMCE
$.each(数据,函数(I,字段)){ var tmp_el = $('name=‘+ field.name + '');if (tmp_el.length) { if (tmp_el.prop("tagName") == 'TEXTAREA') { tmp_el.html(field.value);如果( tinyMCE.get(tmp_el.attr('id')).setContent(tmp_el.html());&common.tinymce& typeof(tmp_el.attr('id')) !== 'undefined‘&typeof(tinyMCE.get(tmp_el.attr(’id‘) !== 'undefined') {tmp_el.attr} // ./其他代码不重要我的问题:
当我从TinyMCE获得HTML时,下面的代码如下所示:
<p><p><strong>_..-~*"````"*~-._ < { (: BOLD :) } ></strong> <br></p><p> _____<br>[_____]<br data-mce-bogus="1"></p></p>也就是说,HTML已经被编码(为什么?)正因为如此,当我把这个“代码”放回TinyMCE时,它看起来像‘纯文本’:

我做错什么了?
附注:对不起,英语不好,我还在学。
发布于 2014-06-04 01:50:01
我找到了解决办法。(是的,我知道该方法存在一些(例如:XSS)安全问题,所以,如果您知道解决方案,还有什么比我的--请在这里发布更好的:)
tinyMCE.get(tmp_el.attr('id')).setContent($('<div/>').html(tmp_el.html()).text());也就是说我用了
$('<div/>').html(tmp_el.html()).text()相反,
tmp_el.html()(p.s.tmp_el - textarea)
https://stackoverflow.com/questions/24027607
复制相似问题