我有这个用于 CRM 4.0 的漂亮的小 javascript 片段来更新表单的 Money 字段以使用我作为字符串传入的货币符号。(来源)
UpdateCurrencySymbolInUI: function (_curr) {
// BTP: fail to update currency symbol if using browser other than IE (crmForm will not be defined)
// (set currency not supported via Xrm.Page CRM 2011)
if (!IsNull(crmForm)) {
var iLen = crmForm.all.length;
var oCtrl, i;
for (i = 0; i < iLen; i++) {
oCtrl = crmForm.all[i];
if (!IsNull(oCtrl.IsMoney) && !oCtrl.IsBaseCurrency) {
oCtrl.CurrencySymbol = _curr;
}
}
}
}
它可以完美运行,但是对于即将更改的多浏览器支持(现在计划在 2012 年第 4 季度进行,对吗?)微软的自定义代码验证工具表明此代码将无法在 IE 以外的任何浏览器上运行,因为不再支持 crmForm。
经过一番谷歌搜索后,我看不到设置货币 sybmol 的受支持替代方案。我是否遗漏了 API 中的某些内容,或者他们是否完全删除了此功能以分配货币符号(通过 API)?这篇文章建议我使用 document.getElementById 并将“_sym”添加到字段名,但我认为这是不受支持的。我更喜欢受支持的解决方案。