フォームブリッジの日付フィールドに今日の日付を自動入力したい

フォームブリッジでチェックシートのようなものを作っています。
ドロップダウンを変更したら日付フィールドに今日の日付を入力したい。

ドロップダウンは複数ありますがテストで下記JSを試しましたが
日付フィールドが変更されません。
お手数おかけしますがご教授よろしくお願いします。

(function() {
“use strict”;

// フィールド変更時のイベントリスナーを設定
fb.events.field.change = [function (state, fieldCode) {
var todayFieldCode = ‘date’; // 今日の日付を入力するフィールド(fields[0])
var targetFieldCode = ‘dropdown’; // ドロップダウンのフィールドコード(fields[1])

// もし、変更されたフィールドがドロップダウンのフィールド(targetFieldCode)に該当する場合
if (fieldCode === targetFieldCode) {
  var d = new Date();
  var today = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();

  // 今日の日付を `fields[0]` に入力
  state['record'][todayFieldCode]['value'] = today;
}

return state;

}];
})();

実行したコードをコピー&ペーストしましょう

コードをここに入力または貼り付け

たとえば、こんな感じでしょうか?

(() => {
    "use strict";
    const dropdownFieldCode = "dropdown"
    fb.events.fields[dropdownFieldCode].changed = [(state) => {
        // dropdownの中身を確認
        console.log(state.record[dropdownFieldCode].value)
        const d = new Date();
        const today = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
        const todayFieldCame = "today";
        state.record[todayFieldCame].value = today;

        return state;
    }];
})();

ありがとうございます。実装しテスト環境で動作を確認できました。
本番環境はドロップダウンと日付フィールドがたくさんあるのですが
下記のように地道に書いていくしか方法はないのでしょうか・・・

(() => {
“use strict”;

// ドロップダウンと日付フィールドのコード
const dropdownFieldCode = "〇〇〇_担当_0";
const todayFieldCode = "〇〇〇_日付";

// 共通の関数で本日の日付を取得
const getTodayDate = () => {
    const d = new Date();
    return d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
};

// dropdownの変更時イベント
fb.events.fields[dropdownFieldCode].changed = [(state) => {
    const dropdownValue = state.record[dropdownFieldCode].value;
    if (dropdownValue) {
        // 選択されている場合、今日の日付を入力
        state.record[todayFieldCode].value = getTodayDate();
    } else {
        // 未選択の場合、日付を削除
        state.record[todayFieldCode].value = '';
    }
    return state;
}];

// ドロップダウンと日付フィールドのコード
const dropdown2FieldCode = "△△△_担当";
const today2FieldCode = "△△△_日付";

// dropdown2の変更時イベント
fb.events.fields[dropdown2FieldCode].changed = [(state) => {
    const dropdown2Value = state.record[dropdown2FieldCode].value;
    if (dropdown2Value) {
        // 選択されている場合、今日の日付を入力
        state.record[today2FieldCode].value = getTodayDate();
    } else {
        // 未選択の場合、日付を削除
        state.record[today2FieldCode].value = '';
    }
    return state;
}];

続く・・・

たとえば、

(() => {
    "use strict";
    // 監視したいフィールドと対応する日付フィールドのペア
    const fieldsMapping = [
        { fieldToWatch: "dropdown1", todayFieldCode: "today1" },
        { fieldToWatch: "dropdown2", todayFieldCode: "today2" },
        { fieldToWatch: "dropdown3", todayFieldCode: "today3" }
    ];

    const updateTodayField = (state, fieldCode, todayFieldCode) => {
        // フィールドの中身を確認
        console.log(`Field ${fieldCode} changed:`, state.record[fieldCode].value);

        // 今日の日付を設定
        const d = new Date();
        const today = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
        state.record[todayFieldCode].value = today;

        return state;
    };

    // 配列内の全フィールドに対して changed イベントを設定
    fieldsMapping.forEach(({ fieldToWatch, todayFieldCode }) => {
        fb.events.fields[fieldToWatch].changed = [(state) => updateTodayField(state, fieldToWatch, todayFieldCode)];
    });
})();

フォームの前提

ありがとうございます。
実装し無事機能しました。

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