kintone JavaScript ボタンで現在の日時を登録したい

スペースフィールドへボタンを追加し、ボタンをクリックすると日時フィールドに

現在の日時を登録したのですが、まずボタンが表示されません。

ソースは以下の内容ですがどこが誤っていますか?

(function() {

“use strict”;

kintone.events.on(‘app.record.edit.show’, function(event) {

// 任意のスペースフィールドにボタンを設置
var mySpaceFieldButton = document.createElement(‘button’);
mySpaceFieldButton.id = ‘my_space_field_button’;
mySpaceFieldButton.innerHTML = ‘ボタン’;
mySpaceFieldButton.onclick = function() {

//時刻データを取得して変数jikanに格納する
var record = kintone.app.record.get(); //レコード情報取得
record,record,‘日時’,value = moment().format(‘YYYY/MM/DD HH:mm’);
kintone.app.record.set(record); //レコード情報登録
};

kintone.app.record.getSpaceElement(‘my_space_field’).appendChild(mySpaceFieldButton);
});

})();

①idに「my_space_field」と指定したスペースは作りましたか?

②ボタンが表示されない件とは別ですが、

      record,record,'日時',value = moment().format('YYYY/MM/DD HH:mm');

ここもエラーになります。

    record.record['日時'].value = moment().format('YYYY-MM-DDTHH:mm');

オブジェクトにアクセスする時はカンマではエラーになるのでドットにするかブラケット記法にし(詳細は調べると出てくるかと思います)、日時フィールドは「YYYY-MM-DD」のハイフンで繋ぎ、日付と時間の間にTを挿入する必要があります(フィールドの形式が日時フィールドの場合の話で、文字列フィールド等であれば変更する必要はありません)。

③記載のコードは「レコードの編集画面を開いた時(既に新規作成されたレコードの編集を開いた時)」に動作するようになっています。新規作成画面でも使用する場合は

kintone.events.on(['app.record.create.show', 'app.record.edit.show'], function(event) {

このように記述して下さい。

ボタンは表示出来るようになりましたが、ボタンをクリックしても日時が登録されませんでした。

他にも間違ったコードがあるのでしょうか?

 

杉本順さま

moment.jsは読み込んでいますか?

https://developer.cybozu.io/hc/ja/articles/204982474-kintone%E3%81%AE%E6%97%A5%E6%99%82%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%AE%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88%E3%82%92-Moment-js-%E3%81%A7%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E3%81%99%E3%82%8B 

出来ました。

JSEdit for kintoneのプラグインを使用し作成しておりまして、

moment.jsにチェックを入れるのを忘れていました。

ありがとうございました。

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