Dynamics 365/CRM 保存之後觸發onchange
阿新 • • 發佈:2017-09-24
bsp 新頁面 save erro 可能 字段 data 註冊 onchange
有時候一些開發人員可能會遇到這樣的問題而不知道其原因:
在一個字段註冊了onchange事件之後,保存表單,發現onchange 又再次觸發了一遍。
或者,在Ribbon 中使用
Xrm.Page.data.save(saveOptions).then(successCallback, errorCallback)
在successCallback,errorCallback中均沒有調用字段的fireOnchange,然而字段的onchange又被觸發了。
原因是CRM 在刷新頁面數據時,會比較字段保存之前及保存之後的值,如果在保存之前沒有改變字段值,在保存中使用插件修改了字段值,
CRM 在做字段值比較時會發現保存前後不一致,從而觸發字段的onchange事件,保證onchange 事件會被正確執行。
在SDK 有明確的說明:
Field OnChange event
The OnChange event usually occurs when the data in a form field has changed and focus is lost.
This event also occurs when data changes on the server are retrieved to update a field when the form is refreshed, such as after a record is saved.
Dynamics 365/CRM 保存之後觸發onchange