我的机会表单上某个字段的 onChange 事件被调用两次,我正在尝试追踪第二次调用的来源。我已经将执行上下文传递到 onChange 函数中,但不知道有什么方法可以从那里查看调用的来源。现在我想知道是否有办法查看 XRM 页面的待处理事件,有人知道该信息在哪里吗?
我的代码基本上是这样的,与机会表单的 onLoad
相关联。可能有插件或第 3 方库或更新该字段的内容,但没有任何内容跳出。
function onLoad() {
Xrm.Page.data.process.addOnStageChange(handleStageChange);
}
function handleStageChange() {
var dateFieldName = "new_enteredstage1"
var dateFieldAttr = Xrm.Page.getAttribute(dateFieldName);
if (dateFieldAttr) {
dateFieldAttr.setValue(new Date());
}
}
如果发生阶段更改时 new_enteredstage1 为 null,则发生 2 次调用,并且该值被设置并立即重置为 null。如果 new_enteredstage1 有值,则该值将按预期更新。同样,我可能缺少一些第三方代码,但我不知道如何追踪它。
更新:
这只发生在日期字段上,并且发生在所有日期字段上。如果我用数字字段替换代码,则该值不会重置为 null。
最佳答案
有一个与"new"表单渲染引擎 (Turbo Forms) 相关的已知问题 ( example ),可能会导致此问题。
关于javascript - 查看 Dynamics CRM 中 onChange 字段事件的源函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44680006/