javascript-防止在服务器端更新字段后触发OnChange函数
作者:互联网
当我向字段注册OnChange函数时,如果在服务器端的插件上更新了该字段,则会触发该事件(在Dynamics Crm 2015中)
是否可以防止这种行为(以受支持的方式)?
示例代码:
1.客户端:
Xrm.Page.getAttribute("org_myfield").addOnChange(function () { alert("org_myfield was changed") });
2.服务器端:
internal void OnPreUpdateRequest(org_myentity target, org_myentity preImage)
{
target.org_myfield = "some value";
}
3.结果(保存记录并完成插件运行之后):
"org_myfield was changed"
所需结果:不应触发警报.
解决方法:
我相信这就是您想要得到的:
1.当用户在此字段上进行更改时,调用JavaScript on change函数;
2.保存记录后,插件可能也会更改该字段的值;
3.如果插件更改了字段值,请跳过JavaScript函数.
如果这是正确的,我将尝试这种方式:
从字段中删除onChange事件,而是在表单的onSave事件中检查字段状态.
使用Xrm.Page.getAttribute(“ org_myfield”).getIsDirty()确定用户是否在字段上进行了任何更改.它仅在客户端检查更改,因此不会受到插件的影响.
标签:dynamics-crm,dynamics-crm-2015,javascript,c 来源: https://codeday.me/bug/20191110/2015247.html