# フォーム画面で関連レコードの「残量」の合計値を「計算フィールド」に表示したい。

**URL:** https://community.cybozu.dev/t/topic/3405
**Category:** kintone 開発相談
**Created:** [2018 年 10 月 1 日午前 1:11 UTC](https://community.cybozu.dev/t/topic/3405 "2018-10-01T01:11:27Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Legacy\_Account834](https://avatars.discourse-cdn.com/v4/letter/l/6de8d8/32.png) [@Legacy\_Account834](https://community.cybozu.dev/u/Legacy_Account834)
#### Post date: [2018 年 10 月 1 日午前 1:11 UTC](https://community.cybozu.dev/t/topic/3405/1 "2018-10-01T01:11:27Z")

</div>

以下のように変更しても、

Uncaught (in promise) TypeError: Cannot set property ‘innerHTML’ of null

というエラーとなります。toLocaleString()をしているからなのか、TotalQuantityフィールドは、スペースフィールドの場合には問題ありません。（教えていただいたので）

TotalQuantityフィールドを計算フィールドとして活用したい意向があります。

--------以下---------

[//kintone.app.record.getSpaceElement](https://kintone.app.record.getSpaceElement)(“TotalQuantity”).innerHTML =  
kintone.app.record.getFieldElement(“TotalQuantity”).innerHTML =  
records.reduce(function(sum, record){  
return sum + Number(record.残量.value);  
}, 0).toLocaleString();

---

<div class="post-metadata">

### Author: ![Legacy\_Account1740](https://avatars.discourse-cdn.com/v4/letter/l/ed8c4c/32.png) [@Legacy\_Account1740](https://community.cybozu.dev/u/Legacy_Account1740)
#### Post date: [2018 年 10 月 2 日午前 5:17 UTC](https://community.cybozu.dev/t/topic/3405/2 "2018-10-02T05:17:34Z")

</div>

りょうすけ様

お世話になっております。 cstapの江田です。

kintone.app.record.getSpaceElement()は、レコード詳細表示画面でしか利用できません。  
[https://developer.cybozu.io/hc/ja/articles/201942014#step3](https://developer.cybozu.io/hc/ja/articles/201942014#step3)  
フォーム画面でフィールド要素を取得する場合は、DOMのclass名などから判別する必要があります。

```
(function(){"use strict";vargetFieldElementOnInputPage=function(fieldName){varresult;[].forEach.call(document.getElementsByClassName('control-gaia'),function(fieldElement){if(fieldElement.getElementsByClassName('control-label-text-gaia')[0].innerHTML==fieldName){result=fieldElement.getElementsByTagName('input')[0];}});returnresult;}kintone.events.on(['app.record.create.show','app.record.edit.show'],function(event){...// フィールドコードではなくフィールド名で指定getFieldElementOnInputPage('TotalQuantity').value=records.reduce(function(sum,record){returnsum+Number(record.残量.value);},0).toLocaleString();...});})();

```

※kintoneの仕様変更により動作しなくなる可能性があります。

---

<div class="post-metadata">

### Author: ![Legacy\_Account834](https://avatars.discourse-cdn.com/v4/letter/l/6de8d8/32.png) [@Legacy\_Account834](https://community.cybozu.dev/u/Legacy_Account834)
#### Post date: [2018 年 10 月 2 日午前 7:24 UTC](https://community.cybozu.dev/t/topic/3405/3 "2018-10-02T07:24:20Z")

</div>

ご教授ありがとうございます。

DOMのclass名で試行してみようかなと思います。ができるかなぁ～

---

<div class="post-metadata">

### Author: ![Legacy\_Account834](https://avatars.discourse-cdn.com/v4/letter/l/6de8d8/32.png) [@Legacy\_Account834](https://community.cybozu.dev/u/Legacy_Account834)
#### Post date: [2018 年 10 月 2 日午前 7:36 UTC](https://community.cybozu.dev/t/topic/3405/4 "2018-10-02T07:36:35Z")

</div>

すみません。コードご提示いただいておりました(^\_^;

むずかしいですね(´・\_・`)
