我正在尝试将值附加到 Microsoft Dynamics CRM 2011 中的 HTML Web 资源。我正在使用 REST 服务将相关对象的值获取到我当前的表单,并希望以 html 形式显示它们。
目前我已经设置了一个带有表格的 HTML Web 资源,但似乎无法更新行。
鉴于此代码:
alert(document.getElementById('WebResource_consultdetails').innerHTML);
document.getElementById('WebResource_consultdetails').innerHTML = "DETAILS ARE HERE";
alert(document.getElementById('WebResource_consultdetails').innerHTML);
...第一个警报是空白的,第二个警报具有正确的 html,但是更改永远不会显示在表单上。
我是不是漏掉了一步?
最佳答案
我以稍微不同的方式影响了 HTML Web 资源。
与其让逻辑在 CRM 表单中运行并尝试影响 Web 资源,不如将其扭转过来,让 CRM 表单上的事件调用 Web 资源中的方法。这是我从工作系统中删除的一个示例。
function prodformOnLoad() {
switch (Xrm.Page.ui.getFormType()) {
case (1):
case (5):
case (6):
// do nowt
break;
default:
// everything else
Xrm.Page.data.entity.attributes.get("productid").fireOnChange();
}
}
function productOnChange() {
Xrm.Page.getControl("WebResource_Costs").getObject().contentWindow.window.refreshTable();
}
网络资源上的 refreshTable()
方法包含所有逻辑,从 window.parent.Xrm.yadda.yadda
收集其信息
关于javascript - 修改网页资源中的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17092541/