【问题标题】:Getting the value from a TinyMCE textarea从 TinyMCE 文本区域获取值
【发布时间】:2011-09-26 08:58:16
【问题描述】:

我的网站有一个新闻编辑器,我正在使用 TinyMCE。我想要做的是有一个按钮(在 TinyMCE 编辑器本身之外),我可以单击该按钮以扫描文本区域中的任何图像,然后将这些图像列为选项以用于所述新闻文章的缩略图。

要了解我的意思,请在此处查看此链接:https://docs.google.com/leaf?id=0B05m73kzudwPNzUwZjkyNmItYjZkMy00NTdlLTlkNDctOGRhYThjMzNjNTM5&hl=en_US

我的问题是当文本区域中有文本时 document.getElementById('NewsArticle').value 没有返回任何内容

另一个潜在的问题是文本区域中显示的不是实际代码,而是图像等,所以我不确定它是否会首先工作,但是自从提交表单时数据[新闻] [article] 值重新变成文本,我认为可能有机会。

如果有人知道如何获取 tinyMCE 文本区域的内容或代码,或者有更好的解决方案,我很想听听

【问题讨论】:

标签: javascript tinymce


【解决方案1】:

TinyMce 有 an api 用于从编辑器访问内容。

此代码将从活动编辑器中获取 html:

// Get the HTML contents of the currently active editor
tinyMCE.activeEditor.getContent();

// Get the raw contents of the currently active editor
tinyMCE.activeEditor.getContent({format : 'raw'});

// Get content of a specific editor:
tinyMCE.get('content id').getContent()

【讨论】:

  • 非常感谢,我觉得一定有办法!
  • 说真的,你是个救命稻草
【解决方案2】:

使用以下语法,这将从您的输入文本区域中删除不需要的字符....

(((tinyMCE.get('YourTextAreaId').getContent()).replace(/(&nbsp;)*/g, "")).replace(/(<p>)*/g, "")).replace(/<(\/)?p[^>]*>/g, "");

【讨论】:

  • 我会将它包装在一个函数中并将文本传递给它,但 +1 是为了努力。
【解决方案3】:

试试

window.parent.tinymce.get('contentID').getContent();

由于某种原因,标准的tinymce.get() 调用对我不起作用,所以我尝试了这个并且它起作用了。 :)

【讨论】:

  • 非常感谢。我一直在与多个编辑器作斗争,您的这段代码对我来说非常有效!
【解决方案4】:
var temp = tinymce.get('textAreaName').save();
console.log(temp);

var temp =tinymce.get('textAreaName').getContent();
console.log(temp);

【讨论】:

    【解决方案5】:

    可能你有类似的东西

    <form>
      <textarea id="myArea">Hello, World!</textarea>
    </form>
    

    你应该简单地添加如下

    <form method="post">
      <textarea id="myArea" name="value">Hello, World!</textarea>
      <input type="submit">
    </form>
    

    您可以在 myArea var 下使用 PHP 捕获数据。

    【讨论】:

      猜你喜欢
      • 2013-04-07
      • 2013-02-03
      • 1970-01-01
      • 1970-01-01
      • 2017-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多