2011-04-14 73 views
1

我已经为WordPress 3.1写了一个管理插件。该插件有一个TinyMCE textarea。我正在使用jQuery Form将表单数据提交到处理页面。 TinyMCE textarea正确显示,我可以输入内容。但是,当我将数据发送到处理页面时,将发送除TinyMCE textarea的内容以外的所有数据,处理页面将返回预期结果。如果我再次单击发送,则会发送TinyMCE日期。这怎么解决?WordPress 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>  

回答

12

你需要知道TinyMCE的不等于textarea的! Tinymce将隐藏初始化的textarea并创建用户可以编辑内容的iframe。因此需要调用tinymce保存方法以将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 
+0

感谢。这正是我需要的。 – apadley 2011-04-15 02:14:50