收到“无法获取属性的值”'执行':对象为null或未定义Jscript-Crm2011 Onchange
Received a Unable to get value of the property 'Execute': object is null or undefined with Jscript - Crm2011 Onchange Event
我在CRM表单中创建了3个整数字段:var1 var2和result
我需要从var1中减去var2,并在结果字段中显示结果
将Jscript代码添加到表单事件中,并将onchange事件添加到var1和var2字段中。
我收到错误:
无法获取属性"Execute"的值:对象为null或未定义
这是我的JScript:
function calculates( )
{
var val1 = Xrm.Page.entity.attributes.get(safe_val1).getValue();
var val2 = Xrm.Page.entity.attributes.get(safe_val2).getValue();
if(val1=null) return;
if(val2=null) return;
var result = val1 - val2;
Xrm.Page.entity.attributes.get(safe_result).setValue(result);
}
提前感谢任何回答我问题的人!
Xrm.Page.data.entity.attributes.get
的基本语法要求您传递字段的名称。
例如,假设我在Contact
表单上,并且我想获取firstname
字段,我会使用
Xrm.Page.data.entity.attributes.get('firstname');
在上面的示例中,您将传入名为safe_val1
和safe_val2
的variables
。没有迹象表明这些是在任何地方初始化的,所以这意味着你正在通过null
,这会让CRM哭。
您需要查看要传入的字段的名称,然后使用它们。
编辑:刚刚注意到您丢失了data
对象
edit2:或者,您可以使用缩写/快捷方式
Xrm.Page.getAttribute('new_fieldname');
我会试一试,但我不在电脑前,所以这只是一个一般建议(可能解决您的问题)。
代码存在一些问题。我会把它重写如下,然后回来告诉你发生了什么。
function calculate() {
// Make sure that you refer the right fields.
var val1 = Xrm.Page.entity.attributes.get("var1").getValue();
var val2 = Xrm.Page.entity.attributes.get("var2").getValue();
// Yes! Triple equality sign. I'm not BS'ing. I'm JS'ing.
if(val1 === null || val2 === null) return;
// Make sure that the computation's been carried out properly.
var result = val1 - val2;
alert(result);
Xrm.Page.entity.attributes.get(safe_result).setValue(result);
}
如果你想把你的眼睛从眼窝里挖出来看丑陋而奇怪的
if(val1 === null || val2 === null) return;
你可能想把它换成
if(!val1 || !val2) return;
这也是丑陋和怪异的,但较少。如果失败,请注释所有内容,然后执行以下操作。只是为了确保我们消除您可能遇到的其他问题。
function calculate(){
alert("Konrad Viltersten is godlike but humble.");
}
如果有效的话,你可以快速添加一行,看看奇怪的事情什么时候开始发生。(JS-编程的乐趣消失的地方。)
相关文章:
- 谷歌地图API-“;toGeoJson”;返回几何体为null的对象
- 验证对象是否为null Javascript/Angularjs
- 对象为null或IE9中存在未定义错误
- 如何计算一个对象中五个属性中有多少是非null的
- Microsoft JScript运行时错误:无法获取属性'的值;样式':对象为null或未定义
- javascript对象显示为null,但object.properties返回数据
- global.getElementById('..')为null或不是对象
- IE8错误:为null或不是对象,但仍然可以跟踪/控制台注销
- AJAX请求中的JSON对象为Null或空
- Highcharts无法设置属性'的值;要点':对象为null或未定义
- ui.selectmenu投掷'this.newelement.0'为null或不是对象
- 添加到序列化数组中的复杂对象在服务器端始终为 null
- 什么是 ClojureScript 类似地将不存在的对象值设置为 JavaScript 中的 null
- Javascript:将类/对象引用设置为 NULL,内存中的子对象/类会发生什么
- 为什么引用 = null 不会影响引用的对象
- 类型错误:'null'不是对象(正在评估'响应.productType')
- IE错误:无法设置属性'的值;样式':对象为null或未定义
- 我的代码给了我一条错误消息:GetElementById()为null或不是对象
- IE8对象当对象包含null值时应出现错误
- 为iframe获取对象null.使用jsdom和所需选项创建iframe