从MS Dynamics CRM中的html webresource窗口传递数据

时间:2017-12-24 20:03:27

标签: javascript dynamics-crm crm dynamics-crm-online webresource

我需要将数据(字符串数组)从html webresource窗口传递到表单。请注意,窗口表示窗口(它是 NOT 嵌入在CRM表单中,是 NOT 一个对话框,它是从窗体打开的窗口)。我使用了Xrm.Utility.openWebResource。我需要影响表单上的字段或在表单上调用js函数。任何帮助表示赞赏。

P.S。 Chrome会忽略“onunload”

1 个答案:

答案 0 :(得分:0)

尝试这样的事情。从window.opener调用父项中的子函数是可行的。您还需要Json库来序列化/反序列化,以便可以在窗口之间发送对象。

在CRM父窗口中:

function openWebResource() {   
    var popupWindow = Xrm.Utility.openWebResource(...);
}

function callFunction(myObjects) {
    var entity = JSON.parse(myObjects);

    if (entity) {
           var value = new Array();
           value[0] = new Object();
           value[0].id = entity.Id;
           value[0].Name = entity.Name;

       // do your logic here
    }
}

在弹出窗口(网络资源)中:

function callParent() {
    var entity = {};
    entity.Id = 1;
    entity.Name = “test”;

    var arr = JSON.stringify(entity);
    window.opener.callFunction(arr);
}