【Formbridge】チェックBOXをチェックしたら自動入力

FormbridgeでチェックBOXをチェックしたら担当者フィールドに名前を入力、日付フィールドに今日の日付を入力したい。

担当者、日付フィールドを編集不可としています。

担当者は表示はするが保存されない

日付は表示も保存もされない状態です。

試しに編集可の状態で試しましたが表示はされるが保存されません。

どなたか分かる方みえませんでしょうか

よろしくお願いいたします。

    /* =========================
       共通
    ========================= */

    function todayJST() {
        const d = new Date();
        d.setHours(d.getHours() + 9);
        return d.toISOString().slice(0, 10);
    }

    function fire(input) {
        input.dispatchEvent(new Event('input', { bubbles: true }));
        input.dispatchEvent(new Event('change', { bubbles: true }));
    }

    /** ===== name属性を持つ保存対象 input を取得 ===== */
    function getSaveInput(fieldCode) {
        return document.querySelector(
            `input[name="${fieldCode}"]`
        );
    }

    /** ===== 日付 ===== */
    function setDate(fieldCode, value) {
        const input = getSaveInput(fieldCode);
        if (!input) {
            console.warn('日付保存用 input が見つかりません:', fieldCode);
            return;
        }
        input.value = value;
        fire(input);
    }

    /** ===== 担当者 ===== */
    function setStaff(fieldCode, value) {
        const input = getSaveInput(fieldCode);
        if (!input) {
            console.warn('担当者保存用 input が見つかりません:', fieldCode);
            return;
        }
        input.value = value;
        fire(input);
    }

    function getStaff() {
        const email =
            document.querySelector('#__kintoneAppAuthenticationEmail__')?.value || '';
        return STAFF_MAP[email.split('@')[0]] || '';
    }

    /* =========================
       チェックボックス
    ========================= */

    function handleCheckbox(code) {
        const conf = CHECK_CONFIG[code];
        const wrap = document.querySelector(`[data-field-code="${code}"]`);
        if (!conf || !wrap) return;

        const checkbox = wrap.querySelector('input[type="checkbox"]');
        if (!checkbox) return;

        if (checkbox.checked) {
            setDate(conf.date, todayJST());
            setStaff(conf.staff, getStaff());
        } else {
            setDate(conf.date, '');
            setStaff(conf.staff, '');
        }
    }

    Object.keys(CHECK_CONFIG).forEach(code => {
        const wrap = document.querySelector(`[data-field-code="${code}"]`);
        if (!wrap) return;

        wrap.addEventListener('change', e => {
            if (e.target.type === 'checkbox') handleCheckbox(code);
        });
    });

});

保存されない理由は不明ですが、
日付がセットされないのは todayJST 関数の戻り値が yyyy/mm/dd になっているためかもしれません。

.replaceAll('/', '-')

を付けて試してみてはいかがでしょうか?

ちなみに、直接ハイフンつながりの形式を得るには

new Date().toLocaleDateString('sv-SE')

とする方法もあるようです。(sv:スエーデンではハイフン繋がり)