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

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;
    }
  );

})();

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

フォームブリッジのドキュメントを見た感じ、

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

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

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

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

間違ったコード(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;
}];

})();

コードを修正しましたがまだ上手く動きません。11行目の 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;  
}];

})();

「いいね!」 1

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

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

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

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

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

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

「いいね!」 1

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