在ajax调用上重新加载tinymce.init函数

时间:2014-01-03 09:29:17

标签: javascript ruby-on-rails tinymce ruby-on-rails-2 tinymce-4

我正在rails 2,使用tinymce 4字段编辑textarea字段。

new.html

<script type="text/javascript" src="/tinymce/tinymce.min.js"></script>
<%= render "form" %>
<% form_for ... %>
 <%= c.text_area :description %>
 <%= submit_tag %>
<% end %>

我需要在脚本下面刷新

_form.html

<div id ="refresh_editor">
<script type="text/javascript">
  tinymce.init({
    selector: "textarea"
...
..
});
</div>

.rjs文件

page.replace_html 'refresh_editor', :partial => 'form'

我的问题,
1)如何刷新脚本?
2)我是否还需要刷新文本区域类型?,这将使编辑器中的内容为空。

为什么我这样做? fiddle会给出一个想法,当用户第二次检查纸张保证金下拉列表时,我会忽略值。

1 个答案:

答案 0 :(得分:-1)

嗯...如果我理解正确的话,请告诉我: 你需要重新初始化tinymce脚本吗?

如果您需要这样做,也许您可​​以在tinymce文档中找到重新初始化或重置脚本的方法。

Howerver我在tinymce对象中找到方法tinymce.remove(),您可以使用它来删除并重新初始化脚本(我尝试使用它来重新初始化但是很糟糕:D)。

所以,只需创建一个函数(或者在我的示例中为tinymce的方法),重新调用tinymce.init()宽度设置。

如果您只需要在我的示例中删除文本,请使用名为clean的tinymce方法删除所有内容并将其替换为<p></p>

参见示例: http://jsfiddle.net/4ndS7/3/

注意:我创建了2个<a>标记用于触发功能:clean()reset()

这可能不是最好的方式......但是...只是认为我能做到解决你的问题。