曜日の自動入力(サブテーブル)

お世話になっております。

タイトルの件について、下記質問を参考にサブテーブル内で日付から曜日を自動で表示するように設定しているのですが、テーブル内フィールドに「undefined」のエラーが出ており、設定ができません。

曜日の自動表示について

第6回 テーブルの値を利用する

現在の設定コード

(function($) {
    "use strict";
    
    var events = [
    'app.record.edit.show',
    'app.record.create.show',
    'app.record.index.edit.show',
    'app.record.edit.change.日付',
    'app.record.create.change.日付',
    'app.record.index.edit.change.日付'
    ]
    
    kintone.events.on(events, function (event) {
        var newtab = new Array();
        var table = event.record.テーブル.value;
        for (var i = 0; i < table.length; i++) {
            var dayRec = table[i].value['日付'].value;
            if (!newtab[dayRec]) {
                newtab[dayRec] = 0;
            }
        }
        moment.locale('ja');
        table[i].value['曜日'].value = moment(table[i].value['日付'].value).format('dddd');
        table[i].value['曜日']['disabled'] = true;
        return event;
    });

})();

お手数でございますが、ご教授いただいたければ幸いでございます。

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

Naoさんこんにちは。

つい先日同じようなカスタマイズを勉強していました。

パット見ですが、テーブルの曜日フィールドへの値書き込みのところが、forループの外にあります。

以下のように変更してみたらどうでしょうか。

 

        // } こちらではなく
        moment.locale('ja');
        table[i].value['曜日'].value = moment(table[i].value['日付'].value).format('dddd');
        table[i].value['曜日']['disabled'] = true;
} // 括弧をこちらに変更
        return event;

Shotaro Matsuda 様

ご返信ありがとうございます。

ご教授いただいたように、forの括弧の位置を変更し設定できました。

ありがとうございます。

今後ともよろしくお願いいたします。