首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SharePoint模式-关闭时将值粘贴回父节点

SharePoint模式-关闭时将值粘贴回父节点
EN

Stack Overflow用户
提问于 2013-09-03 08:56:14
回答 1查看 1.2K关注 0票数 0

我已经创建了一个自定义丝带按钮,其中我加载外部内容到一个Modal对话框。我想在编辑器上插入一些文本并关闭对话框。当我单击对话框中的某个内容时,函数OnPopClosed正在运行,但我遇到了一个错误:没有定义RTE,所以我不能在编辑器上插入任何内容。有什么想法吗?

代码语言:javascript
复制
function init(){
    var options = SP.UI.$create_DialogOptions();
    options.title = "Sharepoint Plugin";
    options.width = 600;
    options.height = 400;
    options.url = '/_Layouts/Test/Test.aspx';
    options.dialogReturnValueCallback = OnPopClosed;
    SP.UI.ModalDialog.showModalDialog(options);
}
function OnPopClosed(test) {

    var range = RTE.Cursor.get_range();
    range.deleteContent();
    var selection = range.parentElement();
    if (!selection) {
        return;
    }

    range.insertNode(elem);
    RTE.Cursor.get_range().moveToNode("test");
    RTE.Cursor.update();

    SP.UI.ModalDialog.commonModalDialogClose(1, "test");
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-04 17:14:40

将RTE操作放在SP.SOD.executeOrDelayUntilScriptLoaded中,以便在加载包含RTE操作的文件时执行指定的函数(在您的示例中是sp.ui.rte.js):

代码语言:javascript
复制
ExecuteOrDelayUntilScriptLoaded(RTEActions, "sp.ui.rte.js");

示例:

代码语言:javascript
复制
function RTEActions()
{
    var range = RTE.Cursor.get_range();
    //Remaining code goes here...
    SP.UI.ModalDialog.commonModalDialogClose(1, "test");
}

然后像下面这样声明对话框处理程序:

代码语言:javascript
复制
function OnPopClosed() {
   ExecuteOrDelayUntilScriptLoaded(RTEActions, "sp.ui.rte.js");
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18587997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档