【问题标题】:tinyMCE only displays in dialog box if initialized on page loadtinyMCE 仅在页面加载时初始化时显示在对话框中
【发布时间】:2010-12-14 16:18:57
【问题描述】:

我创建了一个使用一堆 AJAX 请求的应用程序。它显示一个产品表,从那里您可以单击产品名称,这将打开一个对话框 (box1)。在 box1 中,您可以单击另一个链接列表。点击后会打开另一个对话框(box2)。

在box2 中,我有一个初始化为tinyMCE 的textarea 字段。出于某种原因,将 textarea 初始化为 tinyMCE 编辑器不起作用。所以,我创建了一个单独的 textarea 字段,在页面加载时初始化为 tinyMCE,在一个独立的 div 中,效果很好。所以我导航到框 2 中的文本区域,令人惊讶的是,它把自己初始化为一个 tinyMCE。所以,我只是将那个独立的 div 设置为不显示。这有什么意义?

暂时,我将保持这种方式,因为它有效。但是,我高度怀疑这是执行此操作的正确方法。有没有其他人经历过类似的事情?

如果我应该发布一些代码,请告诉我。

谢谢。

编辑:根据要求,这是一些代码。请记住,initTinyMCE 函数是很久以前由其他人从经典的 ASP 文件中编写的。我的工作是将其转换为 aspx 文件。

创建文本区域并调用 initTinyMCE() javascript 函数的后端文件...

htmlString.Append("<p><span class=\"regTextBld\"><strong>Scenario Text</strong></span>");
            htmlString.Append("<script type=\"text/javascript\">initTinyMCE();</script>");
            htmlString.Append("<textarea class=\"TinyMCEeditor\" name=\"txtEntry\" id=\"txtEntry\" style=\"height:400px; width: 99%;\">" + reader["assumptions"] + "</textarea></p>");

这里是 initTinyMCE 函数...

function initTinyMCE() {
        //alert("x");
        initPlugins();
        tinyMCE.init({
            mode: "specific_textareas",
            editor_selector: "TinyMCEeditor",
            theme: "advanced",
            //plugins : "economy,safari,style,table,advhr,advimage,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,visualchars,nonbreaking,template",
            plugins: "economy,safari,style,table,inlinepopups,searchreplace,print,contextmenu,paste,fullscreen,visualchars,medclink",
            theme_advanced_buttons1: "cut,copy,paste,pastetext,replace,print,|,undo,redo,|,rspell,|,link,unlink,|,hr,image,table,|,code",
            theme_advanced_buttons2: "bold,italic,underline,removeformat,|,numlist, bullist,outdent,indent,|,justifyleft,justifycenter,justifyright,justifyfull,|,nonbreaking,charmap",
            theme_advanced_buttons3: "",
            theme_advanced_toolbar_location: "top",
            theme_advanced_toolbar_align: "left",
            content_css: "/style/intranet.css?" + new Date().getTime(),
            paste_preprocess: function(pl, o) {
                o.content = o.content.replace(/\u2019/gi, "'"); // ’
                o.content = o.content.replace(/\u201C/gi, "\""); // “
                o.content = o.content.replace(/\u201D/gi, "\""); // â€
            },
            cleanup: false,
            encoding: "html",
            entity_encoding: "named",
            verify_html: true
        });
    }

【问题讨论】:

  • 请发布一些代码来分析您的 pbm

标签: jquery ajax tinymce


【解决方案1】:

我正在使用 jquery tinymce

$('#textareaid').tinymce().show();

当你点击 textarea 来激活 tinymce 时使用这个代码。

【讨论】:

  • 只有当我在页面加载时激活单独的隐藏 tinymce textarea 时,tinymce 才能正常激活...
猜你喜欢
  • 2022-11-10
  • 2012-01-22
  • 2017-10-18
  • 1970-01-01
  • 2011-02-05
  • 2011-10-05
  • 1970-01-01
  • 2020-10-11
  • 2012-07-08
相关资源
最近更新 更多