Javascript 如何在更改时捕获OptiStart字段的先前值?

Javascript 如何在更改时捕获OptiStart字段的先前值?,javascript,dynamics-crm,dynamics-365,Javascript,Dynamics Crm,Dynamics 365,我在一个实体中有一个optionset字段,我想在这个字段更改上触发一个JavaScript方法。我希望捕获更改中字段的旧值。我有一个解决方案,可以在表单加载时获取旧值,但这不适用于多个更改。这必须通过我们自己的代码实现来解决。将表单加载时的属性值存储在变量中,在每次更改时将新值保留在该变量中,以便可以在onChange处理程序中使用该值。在处理程序内部的业务验证结束时,如果成功,则将该新值放入变量中;如果失败,则将其还原为旧值 var previousValue; function onFo

我在一个实体中有一个optionset字段,我想在这个字段更改上触发一个JavaScript方法。我希望捕获更改中字段的旧值。我有一个解决方案,可以在表单加载时获取旧值,但这不适用于多个更改。

这必须通过我们自己的代码实现来解决。将表单加载时的属性值存储在变量中,在每次更改时将新值保留在该变量中,以便可以在
onChange
处理程序中使用该值。在处理程序内部的业务验证结束时,如果成功,则将该新值放入变量中;如果失败,则将其还原为旧值

var previousValue;

function onFormLoad(){
    previousValue = formContext.getAttribute("fieldname").getValue();
}

function onFieldChange(){
if(myBusinessValidationSucceeds){
    previousValue = formContext.getAttribute("fieldname").getValue();
}
}

而且

为了清晰起见,你能写出代码吗?你试过了吗?