Weird error TypeError: Cannot read property 'getValue' of null
Weird error TypeError: Cannot read property 'getValue' of null
我收到这个奇怪的错误:
TypeError: Cannot read property 'getValue' of null
当我想根据单位字段的变化获取另一个字段的值时,被告知这两个字段(项目和单位)是查找字段。这是我的代码:
function OnChanegUnit()
{
debugger;
var UnitId = Xrm.Page.getAttribute("ph_phdunitId").getValue();
if (UnitId != null)
{
var oDataSetName = "ph_phdunitSet";
var columns = "ph_projectnameid";
var filter = "ph_phdunitId eq (guid'" + UnitId[0].id + "') ";
var results = retrieveMultiple(oDataSetName, columns, filter);
if (results != "")
{
if (results[0].ph_projectnameid.Id != null)
{
SetLookup("ph_project", results[0].ph_projectnameid.Id, results[0].ph_projectnameid.Name, results[0].ph_projectnameid.LogicalName);
}
else {
Xrm.Page.getAttribute("ph_project").setValue(null);
Xrm.Page.getAttribute("ph_project").setSubmitMode("always");
}
}
}
else{
Xrm.Page.getAttribute("ph_project").setValue(null);
Xrm.Page.getAttribute("ph_project").setSubmitMode("always");
}
}
代码与这一行有关:
var UnitId = Xrm.Page.getAttribute("ph_phdunitId").getValue();
对于 Xrm 函数,字段名称必须始终为小写,因此正确的代码是
var UnitId = Xrm.Page.getAttribute("ph_phdunitid").getValue();
当然,如果该字段采用以下形式,这将有效
关于另一个错误
Cannot read property '0' of undefined
它可能与来自您的自定义函数的results
有关
我收到这个奇怪的错误:
TypeError: Cannot read property 'getValue' of null
当我想根据单位字段的变化获取另一个字段的值时,被告知这两个字段(项目和单位)是查找字段。这是我的代码:
function OnChanegUnit()
{
debugger;
var UnitId = Xrm.Page.getAttribute("ph_phdunitId").getValue();
if (UnitId != null)
{
var oDataSetName = "ph_phdunitSet";
var columns = "ph_projectnameid";
var filter = "ph_phdunitId eq (guid'" + UnitId[0].id + "') ";
var results = retrieveMultiple(oDataSetName, columns, filter);
if (results != "")
{
if (results[0].ph_projectnameid.Id != null)
{
SetLookup("ph_project", results[0].ph_projectnameid.Id, results[0].ph_projectnameid.Name, results[0].ph_projectnameid.LogicalName);
}
else {
Xrm.Page.getAttribute("ph_project").setValue(null);
Xrm.Page.getAttribute("ph_project").setSubmitMode("always");
}
}
}
else{
Xrm.Page.getAttribute("ph_project").setValue(null);
Xrm.Page.getAttribute("ph_project").setSubmitMode("always");
}
}
代码与这一行有关:
var UnitId = Xrm.Page.getAttribute("ph_phdunitId").getValue();
对于 Xrm 函数,字段名称必须始终为小写,因此正确的代码是
var UnitId = Xrm.Page.getAttribute("ph_phdunitid").getValue();
当然,如果该字段采用以下形式,这将有效
关于另一个错误
Cannot read property '0' of undefined
它可能与来自您的自定义函数的results
有关