【问题标题】:TinyMCE and textarea id changeTinyMCE 和 textarea id 更改
【发布时间】:2012-10-22 14:10:24
【问题描述】:

我有一个文本区域列表。每个文本区域都在一个单独的 div 中:

1. < div id="div_textarea1"> <textarea id="textarea1"></textarea> < /div >
2. < div id="div_textarea2"> <textarea id="textarea2"></textarea> < /div >
3. < div id="div_textarea3"> <textarea id="textarea3"></textarea> < /div >
4. < div id="div_textarea4"> <textarea id="textarea4"></textarea> < /div >

所有这些文本区域都在使用 tinyMCE 插件。

在每个文本区域附近,我有一个删除按钮(该按钮将删除文本区域)。

当我点击删除按钮时,选中的textarea会被删除,其他textarea的id会变成合适的数字:

function deleteTitlenote(titlenote_id)
{
    $('#titlenote_div'+titlenote_id).remove();

    var nodes = document.getElementById('add_titleNote').childNodes.length;
    var n = 0;

    for(var i=1; i<= nodes+1; i++)
    {
        if(document.getElementById("titlenote"+i)!=null)
            {
                    n++;
                    document.getElementById("titlenote"+i).id="titlenote"+n;
            }
    }
}

当我有一个没有 tinyMCE 插件的简单 textarea 时,这很好用,但是一旦我使用 mce 插件,即使我更改了 id,我也会通过调用新 id 来访问 textarea 的旧值。

关于如何解决这个问题的任何想法?谢谢。

【问题讨论】:

    标签: html tinymce textarea


    【解决方案1】:

    这里的问题是 textarea 的 id 对应于它的 tinymce 编辑器实例的 id。更准确地说,当您初始化 tinymce 编辑器时,textarea 会被隐藏,并且 tinymce 创建一个 contenteditable iframe 和一个使用此 iframe 编辑内容的编辑器对象。编辑器对象获取 html 源元素(文本区域)的 id。 因此,当您更改 textarea id 时,您要么必须关闭所有 tinymce 并重新初始化它们,要么必须将 tinymce 编辑器内容重置为具有相应 id 的 tiyncem 编辑器。

    【讨论】:

    • 非常感谢您的回答。我会尝试这个解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 2016-06-12
    • 1970-01-01
    • 2013-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多