Joomla JCE编辑器没有在加载Ajax的页面中加载

时间:2011-07-01 11:03:44

标签: ajax joomla joomla1.5 jce

我有一个Joomla 1.5组件,它使用对编辑器类的调用来显示Joomla的JCE编辑器而不是文本框。此代码是4步表单的一部分,其中每个步骤都使用Ajax加载。最后一步包含一个消息字段,用户可以在其中编写自由文本,我使用以下代码调用它:

$editor =& JFactory::getEditor();
echo $editor->display('description', $description, '100%', '150', '40', '30');

当显示此步骤时,它只显示一个简单的文本框,没有按钮来格式化文本等。我​​明白这一定是javascript的问题,但我很难找到如何触发正确的代码正确格式化文本框。

我附上了该字段的截图。  Description field loaded via Ajax

这是从Firebug生成的HTML:

<!-- Start Editor --><label aria-visible="false" style="display:none;" for="description">description_textarea</label><textarea wrap="off" class="wfEditor source" style="width:100%;height:150px;" rows="30" cols="40" name="description" id="description"></textarea><input type="hidden" value="1" name="wf3fadc9c48cabc28750287fe69c3d08c4" id="wf_description_token">
<div id="editor-xtd-buttons">
<div class="button2-left"><div class="image"><a rel="{handler: 'iframe', size: {x: 570, y: 400}}" onclick="IeCursorFix(); return false;" href="http://localhost/ugparl/site/index.php?option=com_media&amp;view=images&amp;tmpl=component&amp;e_name=description" title="Image" class="modal-button">Image</a></div></div>
<div class="button2-left"><div class="pagebreak"><a rel="{handler: 'iframe', size: {x: 400, y: 85}}" onclick="IeCursorFix(); return false;" href="http://localhost/ugparl/site/index.php?option=com_content&amp;task=ins_pagebreak&amp;tmpl=component&amp;e_name=description" title="Pagebreak" class="modal-button">Pagebreak</a></div></div>
<div class="button2-left"><div class="readmore"><a rel="" onclick="insertReadmore('description');return false;" href="http://localhost/ugparl/site/#" title="Read more">Read more</a></div></div>
</div>
<!-- End Editor -->

提前感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

这不是一个解决方案,而是一种解决方法。由于在显示页面之前清理标题,JCE生成的代码将丢失。通过将以下代码添加到ajax调用的页面,我能够触发JCE初始化程序并正确显示编辑器。

$document =& JFactory::getDocument();
echo "<script type='text/javascript'>
function loadJCE() {";
echo $document->_script["text/javascript"];
echo "}
</script>";

然后我只是从load complete函数调用loadJCE。

同样,这不是最好的方法,但它为我做了诀窍。