2011-07-01 87 views
1

我有一個Joomla 1.5組件,使用調用編輯器類來顯示Joomla JCE編輯器而不是文本框。此代碼是使用Ajax加載每個步驟的4步表單的一部分。最後一步包含一個消息字段,用戶可以寫,我使用下面的代碼調用此自由文本:Joomla JCE編輯器不加載頁面加載Ajax

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

當顯示這一步,它只顯示沒有按鈕的簡單文本框來格式化文本等。我明白這一定是javascript的一個問題,但我很難找到我如何才能觸發適當的代碼來正確地格式化文本框。

我附上了該字段外觀的截圖。 Description field loaded via Ajax

這裏是從螢火蟲生成的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 --> 

預先感謝您的任何幫助,您可以提供。

+0

你可以在有工作JCE的頁面中尋找jceOnLoad(),我們必須在同一頁面中使用多個新的JCE時修改它 – jdog

+0

感謝您的回覆,但我無法在文件中找到您所說的函數我的網站或源代碼。 – Xander

回答

1

這不是一個解決方案,而是一種解決方法。由於在顯示頁面之前清理標題,JCE生成的代碼將丟失。通過將以下代碼添加到由ajax調用的頁面中,我能夠觸發JCE初始化程序並正確顯示編輯器。

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

然後我只是從加載完成函數調用loadJCE。

再次,這不是最好的辦法,但它爲我做了詭計。

+0

嗨,我可以知道在哪裏加載完整的功能? –