ウェブサイトで TinyMCE を使用して、テキスト領域を編集し、コンテンツをデータベースに投稿しています。ただし、私が経験する問題は、フォームの [送信] ボタンを押してコンテンツを (ajax - jQuery を介して) PHP ファイルに投稿すると、多くの場合、投稿されたテキストが null に等しいことです (つまり、TinyMCE テキストエリアの変更)検出されません)。
クラス「richArea」に関連付けられたTinyMCEを含むフォームのコードは次のとおりです
<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 ファイルには、テキストエリアの内容が null の場合にエラーを出力する単純なコントロールがあります。tinymce 領域にテキストを入力して送信を押すと、常にテキストが見つからないというエラーが表示されますが、もう一度送信を押すと、テキストが検出され、エラーは表示されません。これは常に系統的に発生します。jQuery を使用して投稿を無効にし、ajax を使用せずに 2 番目のページに投稿すると、すべて正常に動作します。
TinyMCE がテキストの変更を検出しないという事実は、元に戻す機能のコントロールに関連するパフォーマンスの問題が原因である可能性があることを読みましたが、私の場合、テキストを入力すると、元に戻すレベルがアクティブになります (つまり、元に戻すボタンがアクティブになり、したがって、テキストの変更は TinyMCE によって検出されます)。