# 添付フィールドから日付取得

**URL:** <https://community.cybozu.dev/t/topic/10092>\
**Category:** kintone 開発相談\
**Created:** [2025 年 2 月 18 日午前 2:41 UTC](https://community.cybozu.dev/t/topic/10092 "2025-02-18T02:41:10Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![w.t](https://avatars.discourse-cdn.com/v4/letter/w/a88e4f/32.png) [@w.t](https://community.cybozu.dev/u/w.t)\
**Post date:** [2025 年 2 月 18 日午前 2:41 UTC](https://community.cybozu.dev/t/topic/10092/1 "2025-02-18T02:41:10Z")

</div>

### 何を実現したいのかを書きましょう

添付フィールドにファイルが入力されたら、その日付を、別の日付フィールドに自動入力したい。

### 発生した問題やエラーメッセージを具体的に書きましょう

添付フィールドは様々なイベント発火に対応しておらず、どのようにjavascriptをかけばよいか分からない。

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

(function() {  
‘use strict’;

```
// レコード追加・編集の保存前イベント
kintone.events.on(['app.record.create.submit', 'app.record.edit.submit'], function(event) {
    var record = event.record;
    
    // 添付ファイルフィールドのフィールドコードを指定
    var attachmentFieldCode = '添付ファイル'; // フィールドコードを変更してください
    
    // 日付を入力するフィールドのフィールドコードを指定
    var dateFieldCode = '日付'; // フィールドコードを変更してください

    // 添付ファイルがある場合のみ処理を行う
    if (record[attachmentFieldCode].value.length > 0) {
        var today = new Date();
        var todayString = today.getFullYear() + '-' +
                          ('0' + (today.getMonth() + 1)).slice(-2) + '-' +
                          ('0' + today.getDate()).slice(-2);
        record[dateFieldCode].value = todayString;
    }

    return event;
});

```

})();

---

<div class="post-metadata">

**Author:** ![w.t](https://avatars.discourse-cdn.com/v4/letter/w/a88e4f/32.png) [@w.t](https://community.cybozu.dev/u/w.t)\
**Post date:** [2025 年 2 月 18 日午前 4:37 UTC](https://community.cybozu.dev/t/topic/10092/3 "2025-02-18T04:37:32Z")

</div>

返信ありがとうございます。  
これをやりたいのが、複数あるので、以下のコードに書き換えました。

```javascript
(function() {
    'use strict';

    // レコード追加・編集の保存前イベント
    kintone.events.on(['app.record.create.submit', 'app.record.edit.submit'], function(event) {
        var record = event.record;

        // 添付ファイルフィールドと日付フィールドの対応を配列で管理
        var fields = [
            { attachmentFieldCode: 'one', dateFieldCode: 'one_date' },
            { attachmentFieldCode: 'two', dateFieldCode: 'two_date' },
            { attachmentFieldCode: 'three', dateFieldCode: 'three_date' },
            { attachmentFieldCode: 'four', dateFieldCode: 'four_date' }
        ];

        // 共通処理
        var today = new Date();
        var todayString = today.getFullYear() + '-' +
                          ('0' + (today.getMonth() + 1)).slice(-2) + '-' +
                          ('0' + today.getDate()).slice(-2);

        fields.forEach(function(field) {
            // 添付ファイルがある場合のみ日付を設定
            if (document.getElementsByClassName('plupload_file_name').length > 0) {
                record[field.dateFieldCode].value = todayString;
            }
        });

        return event;
    });
})();

```

このスクリプトを埋め込んだ後、レコードの保存が出来なくなってしまいました。

---

<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:** [2025 年 2 月 21 日午前 6:46 UTC](https://community.cybozu.dev/t/topic/10092/5 "2025-02-21T06:46:26Z")

</div>

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