WordPress TinyMCE 不提交内容

Posted

技术标签:

【中文标题】WordPress TinyMCE 不提交内容【英文标题】:WordPress TinyMCE Not Submitting Content 【发布时间】:2011-08-05 04:59:16 【问题描述】:

我为 WordPress 3.1 编写了一个管理插件。该插件有一个 TinyMCE 文本区域。我正在使用 jQuery Form 将表单数据提交到处理页面。 TinyMCE 文本区域显示正确,我可以在其中输入内容。但是,当我将数据发送到处理页面时,除了 TinyMCE textarea 的内容之外的所有数据都被发送,并且处理页面返回了预期的结果。如果我再次单击发送,则会发送 TinyMCE 日期。如何解决这个问题?

这里是javascript

    <script type="text/javascript">    
jQuery(document).ready(function()  
        var options =  
            target: '#output',
            url: '../wp-content/plugins/kac/ajax/send_email_to_list.php'
        ; 

    jQuery('#form1').ajaxForm(options);
); 

function showResponse(responseText, statusText, xhr, $form)   

    alert('status: ' + statusText + '\n\nresponseText: \n' + responseText + 
        '\n\nThe output div should have already been updated with the responseText.'); 
 
</script>

这里是html

<form method="post" id="form1" name="form1">
<label for="subject">
Subject:
</label><br />
<input name="subject" id="subject" type="text" size="40" maxlength="100" /><br /><br />
<?php
wp_tiny_mce( false , // true makes the editor "teeny"
    array(
        "editor_selector" => "myeditor"
    )
);

?>
<label for="message">

Message: 
</label>
<textarea class="myeditor" id="message" name="message"></textarea><br /><br />
<input name="send" id="send" type="submit" value="Send" />
</form>    

【问题讨论】:

【参考方案1】:

您需要注意tinymce 不等于textarea! Tinymce 将在初始化时隐藏文本区域并创建一个 iframe,用户可以在其中编辑内容。因此需要调用 tinymce save 方法将 iframe 内容写回 textarea。

所以你需要以下代码

var editor = tinymce.get( editor_id);
editor.save();  // writes content back to the textarea
// you may now use jQuery or editor.getContent(); to acces the content

【讨论】:

谢谢。这正是我所需要的。

以上是关于WordPress TinyMCE 不提交内容的主要内容,如果未能解决你的问题,请参考以下文章

wordpress评论如何修改调用tinymce

tinyMCE.editors[] wordpress 4.8 未定义

WordPress TinyMCE 编辑器增强技巧大全

wordpress 中的 tinyMCE 不能在少数计算机上运行,​​并且只能在少数计算机上运行

wordpress怎么安装泡泡表情

在 WordPress 插件中调用 TinyMCE