0

我有一个关于 javascipt 的基本计算。它计算真值并用真值更改字段的值。但是当我在数据库上检查它时,它会显示一个字段的前值。我用

Xrm.Page.getAttribute("new_exchangerate").fireOnChange();

在 formOnLoad 上。我的实际代码;

function ExchangeRateOnChange() {
    var exchangeRate = Xrm.Page.getAttribute("new_exchangerate").getValue();
    if (!exchangeRate) {
        exchangeRate = 1;
    }
    var saleAmount = Xrm.Page.getAttribute("new_saleamount").getValue();
    if (saleAmount) {
        Xrm.Page.getAttribute("new_saleamounttl").setValue(saleAmount * exchangeRate);
        // Xrm.Page.getAttribute("new_saleamounttl").setSubmitMode("always");
        // I used setSubmit, but it won't worked too
    }
}
4

2 回答 2

1

如果您在表单上禁用字段,则不会将更改发送到 CRM 端点。为了使它起作用,请在设置值后尝试添加以下内容:

Xrm.Page.getAttribute("new_saleamounttl").setSubmitMode("always");
于 2014-04-04T12:49:50.543 回答
0

我的第一个想法是:Xrm.Page.getAttribute("new_exchangerate").addOnChange(this.ExchangeRateOnChange); 因为调用Xrm.Page.getAttribute("new_exchangerate").fireOnChange();不会调用你的方法。但是你说它有计算字段。

Xrm.Page.getAttribute("new_saleamounttl").fireOnChange();您可以在更改字段后尝试调用。

于 2014-04-04T12:39:52.383 回答