app.record.edit.submit イベントで更新前の値を取得したい

emailを「test@gmail.com」を「test2@gmail.com」に更新しました

 

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

  console.log(event);

}

 

で中身を確認したところ「test2@gmail.com」のデータしかありませんでした。

test@gmail.comのデータを使った処理をしたいのですが、どうすれば更新前のデータを取得できるでしょうか?

どなたかご教授お願いします。

山本さん、こんにちは。プロジェクト・アスノートの松田です。

更新前データが取れるイベントとしては、detail.show もしくは、そのフィールドの値変更イベントなので、

そちらで変数に保持しておけば取得できると思います。

 

山本様

 

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

showイベントでのemailの値を保持しておくのが良いかと思います。

(function() {
var oldEmail;
kintone.events.on('app.record.edit.show', function(event) {
oldEmail = event.record['emailのフィールドコード'].value;
});
kintone.events.on('app.record.edit.submit', function(event) {
  console.log(oldEmail);
});
})();

ありがとうございます!

大変参考になりました!!!!

江田さんから具体的なコードが提示されましたね。ありがとうございます。

ちょっとだけ補足させていただきます。

江田さんの書かれているコードのポイントは以下の点です。

  • 2つのkintone.events.on で変数を共用したい。
  • この場合、どちらかのkintone.events.on()の中で変数を宣言(var )すると、その中でしか有効とならない。
  • なので、2つのkintone.events.on()の外、かつ全体の即時関数(function(){}(); の中で宣言した変数を用いる。

変数のスコープ(有効範囲)という考え方を知っておく必要があります。