今天我们来看看字段的onchange事件,它是在字段被修改后触发的,用来跟踪字段修改后所需要触发的业务规则事件。
它的主要使用场景为:字段的级联控制,控制关联字段的可读性以及关键字段的值设置。
今天我们做个小例子,就是在设置budget amount字段的时候,如果值大于10000,那么关联的字段forecast category会将值设置为best case,否则就清空该字段的值。
第一步,开的表单编辑器,如果不知道怎么打开的朋友可以参考onload事件文章

第二步,添加onchange事件,并保存发布相关修改内容

第三步,回到opportunity记录,尝试修改budget amount的值并观察系统的响应效果

使用到的JS代码
javascript
if(typeof(CRMHOME)=="undefined")
{
CRMHOME={};
}
if(typeof(CRMHOME.Opportunity)=="undefined")
{
CRMHOME.Opportunity={};
}
CRMHOME.Opportunity.Entity={
Form_Onload:function(){
debugger;
Xrm.Utility.alertDialog("Hello form onload event");
}
,
Form_Onsave:function(eContext)
{
debugger;
var budgetAmount=Xrm.Page.getAttribute("budgetamount").getValue();
if(budgetAmount<10000)
{
Xrm.Utility.alertDialog("Please input correct budget amount!");
eContext.getEventArgs().preventDefault();
}
}
,
BudgetAmount_Onchange:function(eContext)
{
debugger;
var budgetAmount=Xrm.Page.getAttribute("budgetamount").getValue();
if(budgetAmount>10000)
{
Xrm.Page.getAttribute("msdyn_forecastcategory").setValue(100000002)
}
else
{
Xrm.Page.getAttribute("msdyn_forecastcategory").setValue(null)
}
}
}