我一直无法获得TinyMCE textarea的价值,我只是无法从中获得价值?
这是我的表格(哦,这么简单):
<div id="pow_form_container">
<form id="pow_content_form">
<textarea name="pow_content" id="tiny" style="width:100%">
<? echo $pow; ?>
</textarea>
<input type="hidden" id="pow" name="pow" />
</form>
</div>
这就是我用来托盘并获取编辑器内容的JQuery
save_pow: function (job_id) {
var editor = tinymce.get("tiny"),content = editor.getContent();
$.post('/jobs/save_pow/' + job_id, $('#pow_content_form').serialize(), function (response) {
alert(content);
if (response.status == 'ok') {
tinymce.EditorManager.execCommand('mceRemoveEditor',true, "tiny");
Common_UI.dialog_close('edit_pow_dialog');
}
});
},
但是发布的内容是:
pow_content=++++%09%09++++%09&pow=
WTF是那个?
我尝试过这样的事情:
tinyMCE.triggerSave();
SO
save_pow: function (job_id) {
tinyMCE.triggerSave();
$.post('/jobs/save_pow/' + job_id, $('#pow_content_form').serialize(), function (response) {
if (response.status == 'ok') {
Common_UI.dialog_close('edit_pow_dialog');
}
});
},
但这并没有改变任何事情,怎么会这么难?错过了什么?
我正在初始化tinyMCE,因为文本编辑器位于jquery UI弹出对话框中,这是我可以让编辑器显示的唯一方法: edit_pow:function(job_id){ $ .get('/ jobs / edit_pow /'+ job_id,function(data){
Common_UI.dialog('edit_pow_dialog', 'Edit Programme of Works', data, {
'Save': function () {
method.jobs.save_pow(job_id);
}
});
tinyMCE.init({ selector:'#tiny' });
});
},
答案 0 :(得分:0)
您可以使用getContent()
获取编辑器的内容:
var editor = tinymce.get("tiny"),
content = editor.getContent();
您还应该知道,在不破坏任何先前的实例的情况下,您无法重新启动tinyMCE(请参阅此answer)。所以在dialog_close
之前你应该删除tinyMCE实例:
tinymce.EditorManager.execCommand('mceRemoveEditor',true, "tiny");