繁体   English   中英

JavaScript触发得太快。 未加载对象

[英]JavaScript Fires too fast. Objects not loaded

我在表单OnLoad事件之一上运行以下JavaScript:-

function calcServicePriceTotal() {

  var grid = document.getElementById('ProjectServicesGrid');
  var ids = grid.control.get_allRecordIds();
  var sum = 0.00;
  var cellValue;

  for (i = 0; i < ids.length; i++) {

    var cellValue = grid.control.getCellValue('iss_salesprice', ids[i]);
    var number = Number(cellValue.replace(/[^0-9\.]+/g, ""));
    sum = sum + number;
  }
  Xrm.Page.data.entity.attributes.get("ava_tempgrossvalue").setValue(sum);
}

不幸的是,我得到以下错误:

“错误:'subGridOnload'未定义”

我相信脚本在对象需要加载时间之前就触发了,那么我该怎么做才能减慢功能呢? 必须有某种方法可以克服这个问题,但是我距离JavaScript专家还很远,所以我可以使用一些帮助。

提前致谢

function calcServicePriceTotal() {
    if (document.getElementById("Services")) {
        var grid = document.getElementById("Services").control;
        var ids = grid.get_allRecordIds()
        var sum = 0
        for (i = 0; i < ids.length; i++) {
           var cellValue = grid.getCellValue('iss_salesprice', ids[i]);
           var number = Number(cellValue.replace(/\D/g, ''));
           number = number/100;
           sum = sum + number;
       }
       Xrm.Page.data.entity.attributes.get("iss_value").setValue(sum);
    }
    else {
        setTimeout("calcServicePriceTotal();", 500);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM