tinymce不会得到(id)或setcontent

时间:2013-05-25 22:15:26

标签: tinymce textarea

这是我正在使用的代码。我正试图将现有的数据加载到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”之前以及之后放线。

我确实希望这些例子能够在上下文中显示,只是一行不能帮助一个像工具一样复杂和无情的工具。

enter code here

3 个答案:

答案 0 :(得分:0)

JavaScript区分大小写。试试

tinymce.activeEditor.setContent("textarea content in here");

答案 1 :(得分:0)

这是我所知道的一种方式:

我使用了TinyMCE的jQuery版本,我最初使用现有内容填充textarea:

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

然后通过调用脚本函数来初始化TinyMCE编辑器,如下所示:

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

编辑器初始化,将现有的textarea内容放在编辑器中,并带有html标签和所有内容。

答案 2 :(得分:0)

我的解决方案,使用Angular.js,得到Martin Sansome的大量帮助,就是切换到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>

在我的控制器文件中,我将textarea的内容设置为来自上下文的正确数据,然后初始化tinyMCE

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

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

现在,正确的内容显示在页面编辑框中的textarea中。

最后,我必须更改提交表单的控制器中的函数,以使用来自TinyMCE的新内容而不是textarea。

var jobDescriptionHtml = tinyMCE.activeEditor.getContent();

希望这有助于某人。感谢Martin Sansone。