编程语言
首页 > 编程语言> > javascript-防止在服务器端更新字段后触发OnChange函数

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