2011-08-14 9 views
1

nicEditを使用して、リッチテキスト編集をテキストエリアに追加しています。私はCodeigniter MVCフレームワークとjQueryを使って新しいAJAX呼び出しを作成して新しいテキストエリアを作成し、AJAX呼び出しから返された後にこの新しいテキストエリアにnicEditを適用します。jQuery AJAXリクエストから返されたときのnicEditの動作

:送信ボタンのクリックイベントから呼び出され、テスト/ Ajaxのコントローラは、次のように新しいテキストエリアを返す関数である

<html> 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> 
<script type="text/javascript" src="<? echo base_url();?>assets/js/nicEdit.js"></script> 

<body> 
<div id="area1"></div> 
<input id="submit" type="submit" value="submit" /> 

<script> 
$(document).ready(function() { 

    $('#submit').click(function(){ 
     $.ajax 
     ({ 
      type: "POST", 
      url: "test/ajax", 
      success: function(html) 
      { 
       $('#area1').html(html); 
       new nicEditor().panelInstance('newArea'); 
      } 
     }); 
    }); 
}); 
</script> 

</body> 
</html> 

:予想と期待通りnicEditは、次のコードを使用してインスタンス化されるとすべてが動作します

function ajax() 
    { 
     echo "<textarea id='newArea'></textarea>"; 
    } 

私の主なアプリケーションでは、私は概念的には上記と同じことをやっています。つまり、AJAX呼び出しから新しいテキスト領域を返し、次にこの新しい領域をAJAX success関数でインスタンス化します。私が抱えている問題は、nicEditはAJAX呼び出しからこの新しいテキストエリアにフックしますが、nicEditアイコンは表示されないということです。フォントフォーマット、フォントファミリ、フォントサイズの属性は表示され、機能しますが、その他のアイコン(太字、斜体、下線など)は表示されません。

提案をいただきありがとうございます。

答えて

1

アイコンファイルの場所を明示的に指定する必要があると思います。 nicEditorオブジェクトをインスタンス化するときにこれを行うことができます:NicEdit Configuration Options

+0

これは間違いありません。私がしなければならなかったのは、iconsPathに場所を渡すことだけでした。奇妙なことに、私はプロトタイプでそれをする必要はありませんでしたが、教訓は学びました!再度、感謝します!\t新しいnicEditor({fullPanel:true、iconsPath:baseurl + 'assets/images/nicEditorIcons.gif'、maxHeight:200})。panelInstance( 'newArea'); – Gunnar

関連する問題