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(){}(); の中で宣言した変数を用いる。
変数のスコープ(有効範囲)という考え方を知っておく必要があります。