# フォームブリッジのテーブルの行を追加した際に追加した行のフィールドを入力不可にしたいです

**URL:** <https://community.cybozu.dev/t/topic/7748>\
**Category:** kintone 開発相談\
**Created:** [2023 年 7 月 7 日午前 4:20 UTC](https://community.cybozu.dev/t/topic/7748 "2023-07-07T04:20:29Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![taro](https://avatars.discourse-cdn.com/v4/letter/t/df705f/32.png) [@taro](https://community.cybozu.dev/u/taro)\
**Post date:** [2023 年 7 月 7 日午前 4:20 UTC](https://community.cybozu.dev/t/topic/7748/1 "2023-07-07T04:20:29Z")

</div>

javascript初心者です

フォームブリッジのテーブル（table）に金額(amount)を入力するフィールドを設置しています。

その他氏名や経路などを入力するようにしています（交通費精算用）

グループで参加した場合でも交通費は1人が請求するルールの為、テーブルの1行目には金額が入力できるが、追加した行には金額の入力は出来ない様にしたいのですが上手く動作しません。

色々なサイトを参考にしましたが、フィールドは入力不可になりませんでした。どこを修正すれば良いのでしょうか？

```
'use strict';

kintone.events.on(
    ["app.record.create.show", "app.record.edit.show","app.record.create.change.table","app.record.edit.change.table"],
    (event) => {
      event.record.table.value.forEach((r, index) => {
        if (index !== 0) {
          r.value.amount.disabled = true;
        }
      });
      return event;
    }
  );
  kintone.events.on(
    ["app.record.create.show", "app.record.edit.show","app.record.create.change.table","app.record.edit.change.table"],
    (event) => {
      // 行を削除した時はエラーが出ないようにevent.changes.rowが存在しているかどうか確認。
      if (event.changes.row) {
        event.changes.row.value.amount.disabled = true;
      }
      return event;
    }
  );

```

})();

---

<div class="post-metadata">

**Author:** ![jurippe](https://sea1.discourse-cdn.com/flex015/user_avatar/community.cybozu.dev/jurippe/32/27_2.png) [@jurippe](https://community.cybozu.dev/u/jurippe)\
**Post date:** [2023 年 7 月 7 日午後 12:51 UTC](https://community.cybozu.dev/t/topic/7748/2 "2023-07-07T12:51:41Z")

</div>

フォームブリッジのことは全然知らないのですが、

フォームブリッジの[ドキュメント](https://formbridge.kintoneapp.com/help/customize)を見た感じ、

```javascript
  // テーブル（table）のフィールド（fieldCodeInTable）が変更された時
  fb.events.fields.table.fields.fieldCodeInTable.changed = ...略

```

のようにfb.events.～～～みたいな始まり方をするみたいですが、

書かれているコードは普通にkintoneのJavaScriptカスタマイズのコードっぽいので  
もしかしたらそこから違うのでは～と思います👀

---

<div class="post-metadata">

**Author:** ![taro](https://avatars.discourse-cdn.com/v4/letter/t/df705f/32.png) [@taro](https://community.cybozu.dev/u/taro)\
**Post date:** [2023 年 7 月 7 日午後 11:24 UTC](https://community.cybozu.dev/t/topic/7748/3 "2023-07-07T23:24:21Z")

</div>

ご回答ありがとうございます。別のコードを貼り付けてしまいました。おっしゃる通りkintoneのコードでした

---

<div class="post-metadata">

**Author:** ![taro](https://avatars.discourse-cdn.com/v4/letter/t/df705f/32.png) [@taro](https://community.cybozu.dev/u/taro)\
**Post date:** [2023 年 7 月 7 日午後 11:26 UTC](https://community.cybozu.dev/t/topic/7748/4 "2023-07-07T23:26:11Z")

</div>

間違ったコード（kintone用）を貼り付けていました。申し訳ありません。修正したいのは以下です

(function () {  
‘use strict’;

```
fb.events.fields.table.add = [function (state) {
    state.record.table.value.map(function (row, index) {
        row.value.amount.value;

        if (index > 0) {
            row.value.amount.disabled = true;
        }
    });
    return state;
}];

```

})();

---

<div class="post-metadata">

**Author:** ![taro](https://avatars.discourse-cdn.com/v4/letter/t/df705f/32.png) [@taro](https://community.cybozu.dev/u/taro)\
**Post date:** [2023 年 7 月 9 日午後 2:21 UTC](https://community.cybozu.dev/t/topic/7748/5 "2023-07-09T14:21:03Z")

</div>

コードを修正しましたがまだ上手く動きません。１１行目の console.log(r.value[0]);  
がundefindになります。どこを修正すれば良いかご教授ください。

(function() {  
“use strict”;

```
fb.events.fields.table.add = [function (state) {
    console.log(state);
    if (record.table.value.length > 0) {
        console.log(record.table.value[0].value); // 1ではなく0を使う
        
        record.table.value.forEach((r) => {
            if (r.value) { // r.valueが存在するかどうかをチェックする
                console.log(r.value[0]); // 1ではなく0を使う
                r.disabled = true; // 1ではなく0を使う

            }
        });
    }

    return state;  
}];

```

})();

---

<div class="post-metadata">

**Author:** ![jurippe](https://sea1.discourse-cdn.com/flex015/user_avatar/community.cybozu.dev/jurippe/32/27_2.png) [@jurippe](https://community.cybozu.dev/u/jurippe)\
**Post date:** [2023 年 7 月 10 日午前 2:15 UTC](https://community.cybozu.dev/t/topic/7748/6 "2023-07-10T02:15:59Z")

</div>

私はフォームブリッジのことを全然知らないので（おそらくここに来てる方も知ってる方いないかも👀）分からずです。

自力で難しいという場合は、めっちゃ勉強するか、そうでなければどうしてもお金はかかってくると思います。

フォームブリッジを作っているトヨクモさんからパートナーさんを紹介してもらうとか、サイボウズさんからパートナーさんを紹介してもらうとかになるかと思います（＞＜）

---

<div class="post-metadata">

**Author:** ![taro](https://avatars.discourse-cdn.com/v4/letter/t/df705f/32.png) [@taro](https://community.cybozu.dev/u/taro)\
**Post date:** [2023 年 7 月 10 日午前 8:26 UTC](https://community.cybozu.dev/t/topic/7748/7 "2023-07-10T08:26:55Z")

</div>

アドバイスありがとうございます。 エラーは出なくなりましたのでもう少し修正してみます

いずれはどこかパートナーさんのお力を借りることになると思いますが

まずは自力でやってみます

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)\
**Post date:** [2023 年 9 月 25 日午前 4:24 UTC](https://community.cybozu.dev/t/topic/7748/8 "2023-09-25T04:24:21Z")

</div>

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
