首页 文章

捕获TinyMCE表单textarea

提问于
浏览
0

我一直无法获得TinyMCE textarea的 Value ,我只是无法从中获得 Value ?

这是我的表格(哦,这么简单):

<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();

所以

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' });

        });
    },

1 回答

  • 0

    您可以使用getContent()获取编辑器的内容:

    var editor = tinymce.get("tiny"),
        content = editor.getContent();
    

    您还应该知道,在不破坏任何先前的实例的情况下,您无法重新启动tinyMCE(请参阅此answer) . 所以在 dialog_close 之前你应该删除tinyMCE实例:

    tinymce.EditorManager.execCommand('mceRemoveEditor',true, "tiny");
    

相关问题