我的机会表单上的字段的onChange事件被调用两次,我试图追踪第二次调用的来源。我已经将执行上下文传递给onChange函数,但不知道从那里查看调用源的任何方法。现在,我想知道是否有办法查看XRM页面的待处理事件,是否有人知道该信息的位置?
我的代码基本上是这样的,与机会表单的onLoad
相关联。可能有一个插件或第三方库或更新字段的东西,但没有任何东西跳出来。
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具有值,则按预期更新该值。同样,可能会有一些我错过的第三方代码,但我不知道如何追踪它。
更新:
这只发生在日期字段上,并且它发生在所有日期字段上。如果我用数字字段替换代码,则该值不会重置为空。