我在使用PHP和AJAX在HTML网页上更新WYSIWYG编辑器(TinyMCE 3.5)的内容时遇到问题。
" news.php"的初始代码:
<script type="text/javascript">
tinyMCE.init({
// General options
mode : "textareas",
theme : "advanced",
...
});
</script>
...
<select id="id_languages" name="id_languages" onchange="recibeid('loading_news_language.php', 'id_news=<?php echo $id_news;?>&id_languages='+document.getElementById('id_laguanges').value+'', '', 'load_news_language');">
<?php
$row_idiomas = get_languages();
for($i = 0; $i<count($row_languages); $i++){
?>
<option value="<?php echo $row_languages[$i]["id_languages"];?>"><?php echo $row_languages[$i]["name"];?>
</option>
<?php
} //close bucle for
?>
</select>
</div>
</div>
<div class="rowform"></div><!-- rowform -->
<div id="load_news_language">
<?php include("loading_news_language.php");?>
</div>
...
首次加载&#34; loading_news_language.php&#34; Tiny编辑器工作正常,但如果使用标签&#34;选择器&#34;当点击不同的语言时,不要再次加载编辑器,只有de content。我需要重新加载编辑器。
loading_new_language.php的代码:
...
<textarea name="text" id ="text" rows="1" style="height: 300px;">
<?php
if(isset($_POST["text"]))
{echo $_POST["text"];}
elseif (isset($_GET["id_news"]))
{echo $row_news_languages["text"]; }
?>
</textarea>
...
提前感谢所有试图提供帮助的人。
答案 0 :(得分:0)
当您动态尝试更改WYSIWYG编辑器时会发生这种情况,它会中断。您需要做的是,每次更改内容时重新启动编辑器。
您需要删除TinyMCE编辑器,然后使用以下函数再次使用新内容“重新添加”它,其中IDofYourEditor
必须替换为您的tinyMCE编辑器的ID。
tinyMCE.execCommand('mceRemoveControl',true,'IDofYourEditor');
将新内容加载到编辑器后,您必须再次重新启动编辑器,就像您在示例中所做的那样:
tinyMCE.init({
// General options
mode : "textareas",
theme : "advanced",
...
});
这样你的编辑器就可以正常工作了。