背景
new_statecode
。我正在使用HTML网络资源来获取用户的输入,我后来打算将其传递给上面提到的自定义字段。
<input id="statecode" type="text" placeholder="">
这是脚本的代码。
document.getElementById("submitButton").addEventListener("click", function (event) {
var strstatecode = document.getElementById("statecode").value;
window.parent.Xrm.Page.data.entity.attributes.get("new_statecode").setValue(strstatecode);
});
问题
这是我在控制台中收到的错误。
Unable to get property 'setValue' of undefined or null reference
尝试使用getValue
属性时出现类似错误。
显然这是一个非常常见的问题,但其他解决方案都不适用于我。
到目前为止我做了什么
我检查了自定义字段名称。没有拼写错误或拼写错误。
我尝试过使用window.parent.Xrm.Page.getAttribute("new_statecode").setValue(strstatecode);
我尝试过创建新的自定义字段并尝试将值设置为它。那也行不通。它给出了同样的错误。
注1 : 我认为值得一提的是,我发布的代码已经过编辑和缩短,以符合SO的mcve标准。我的HTML网络资源中还有6个其他输入(街道地址,城市等),我成功地将数据保存到CRM中各自的字段中。唯一的区别是那些不是自定义字段。
Note2 :我使用的是Dynamics 365版本1612(8.2.1.410)。
如何解决此问题?还有什么我应该看的吗?也许在创建自定义字段时我应该注意什么?
原谅我在CRM行话中缺乏知识。
答案 0 :(得分:5)
表单上的属性/字段需要Xrm.Page.getAttribute(attributeName)
才能访问。
但是,它可以隐藏,也可以放在隐藏的部分或标签中。