0

これが私が使用している私のコードです。tinymce に既存のデータを TEXTAREA にロードさせようとしていますが、試したことはなく、これまでに見つけた「解決策」も機能していません。データをロードしようとしない限り、エディターは正常にロードされます。

<script type="text/javascript" src="http://URL/scripts/tinymce/js/tinymce/tinymce.min.js"></script>
<script type="text/javascript">
tinymce.PluginManager.load("spellchecker","http://URL/scripts/tinymce/js/tinymce/plugins/spellchecker/plugin.min.js");
tinymce.PluginManager.load("wordcount","http://URL/scripts/tinymce/js/tinymce/plugins/wordcount/plugin.min.js");
tinymce.init({
  selector: "textarea#my_id",   
  theme: "modern",
  plugins: [
    "advlist autolink lists link image charmap print preview hr anchor pagebreak",
    "searchreplace wordcount visualblocks visualchars ",
    "insertdatetime media nonbreaking save table contextmenu directionality",
    "template paste textcolor spellchecker code"
  ],
  relative_urls : true,
  document_base_url : "http://URL/",  
  content_css: "scripts/tinymce/js/tinymce/skinslightgray/skin.min.css",
  external_image_list_url : "tinymce_imagelist.js",
  toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image media | print preview | forecolor backcolor",
  autosave_ask_before_unload: false
});
tinyMCE.activeEditor.setContent("textarea content in here");      // <-- this doesn't work
</script>
<textarea name="Blog_Text" id="my_id" class="editable" cols="60%" rows="20"></textarea>

私はもう試した:

tinyMCE.activeEditor.setContent("textarea content in here");
tinyMCE.get("my_id").setContent("textarea content in here");

var ed = tinyMCE.getInstanceById("blog_text");
ed.focus();
ed.setContent("textarea content here");

$('#my_id').html("textarea content here");

textarea id を読み込もうとしない場合、エディターは (コンテンツなしで) 正しく読み込まれます。

解決策を探しましたが、何も機能していません。私は本当にこれに対する解決策が必要です。「init」の前と後に行を入れてみました。

例が文脈に沿って示されることを願っています.tinymceのように複雑で容赦のないツールでは、1行だけでは役に立ちません。

enter code here
4

3 に答える 3

0

Martin Sansome の多くの助けを借りて Angular.js を使用した私の解決策は、TinyMCE の jQuery プラグイン バージョンに切り替えて、ページで最初に jQuery を呼び出し、tinymce.min.js と jquery.tinymce.min を含めるようにすることでした。 js.

<script src="lib/jquery/jquery.min.js"></script>
<script type="text/javascript" src="js/tinymce/tinymce.min.js"></script>
<script type="text/javascript" src="js/tinymce/jquery.tinymce.min.js"></script>

私のコントローラーファイルでは、テキストエリアの内容をコンテキストから正しいデータに設定し、tinyMCE を初期化します

$('#edit_Jobs_Description').html(decodeURIComponent(attrs.jobsdescription));

$('#edit_Jobs_Description').tinymce({
});

ページの編集ボックスのテキスト領域に正しい内容が表示されるようになりました。

最後に、フォームを送信するコントローラーの関数を、テキストエリアの代わりに TinyMCE の新しいコンテンツを使用するように変更する必要がありました。

var jobDescriptionHtml = tinyMCE.activeEditor.getContent();

これが誰かに役立つことを願っています。Martin Sansone に感謝します。

于 2014-11-27T10:31:00.720 に答える
0

これは、私が知っている1つの方法です。

私は TinyMCE の jQuery バージョンを使用しました。ここでは、最初にテキストエリアに既存のコンテンツを次のように入力します。

var existTxt = "textarea content here";
$('#my_id').html(existTxt);

次に、次のようにスクリプト関数を呼び出して TinyMCE エディターを初期化しました。

function updateTxt(my_id) {
        $('#'+ my_id).tinymce({
      ..all of the editor settings..
 });
}

エディターが初期化され、既存の textarea コンテンツが html タグなどと共にエディター内に配置されます。

于 2013-12-29T02:52:42.897 に答える