我在我的网站中使用 TinyMCE 来编辑文本区域并将内容发布到数据库。但是,我遇到的问题是,当我按下表单的提交按钮并将内容(通过 ajax - jQuery)发布到 PHP 文件时,在许多情况下发布的文本等于 null(即 TinyMCE 文本区域中的更改未检测到)。
这是我的表单代码,其中 TinyMCE 与“richArea”类相关联
<form id="uploadMixedBoxForm" method="post" action="'.$websiteURL.'/resources/changeText.php">
<p><strong>'._("Text:").'</strong></p>
<textarea name="mixTextAdd" class="richArea"></textarea>
<input type="submit" class="nicerButton" value="'._("Submit").'" />
</form>
这是接收数据的 PHP 文件
<?php
if (!isset($_POST[mixTextAdd]) or $_POST[mixTextAdd] == "") {
echo '<div class="error"><i class="icon-thumbs-down icon-2x"></i> '._("No text content.").'</div>';
exit;
}
addToDatabase(mixTextAdd);
?>
从表单接收数据的 PHP 文件有一个简单的控件,如果 textarea 的内容为空,则输出错误。行为是,当我在 tinymce 区域中键入文本并按提交时,我总是收到错误消息,提示文本丢失,但是,如果我再次按提交,则检测到文本,因此不会出现错误。这总是系统地发生。如果我通过 jQuery 禁用帖子并在不使用 ajax 的情况下简单地发布到第二页,一切正常。
我读到TinyMCE没有检测到文本更改的事实可能是由于与控制撤消功能相关的性能问题,但是在我输入文本时,撤消级别被激活(即撤消按钮变为活动状态,因此 TinyMCE 检测到文本的变化)。