新規投稿
フォローする

【kintone】krewsheetの一覧画面におけるフィールド値の取得

背景・実現したいこと

 現在、プラグインであるkrewsheetを使用しており、krewsheetの一覧画面でフィールドの値を変更したときに、値に応じてアラートを表示するJavaScriptを以下のように作成しております。

kintone.events.on('app.record.index.show', function(e) {
  if (window.krewsheet){
      krewsheet.events.on('app.record.index.edit.change.×××', function (event) {

          console.log(event.changes.field.×××);

          if(event.changes.field.××× === '△△△') {
              event.preventDefault();          

              // レコードを保存する
              kintone.api('/k/v1/record', 'POST', {
                  app: kintone.app.getId(),
                  record: event.record
              }, function (resp) {
                  // 保存に成功した場合は、アラートを表示する
                  swal({
                      title: '値が△△△です',
                      html: '<div style="text-align:left">下記リンクをクリックしてください。</div>',
                      footer: '<p><a href="https://************/●●●/" target="_blank">リンク</a></p>',
                      icon: 'success',
                      buttons: {
                          confirm: {
                              text: 'OK',
                              value: true,
                              visible: true,
                              className: 'swal-button--confirm',
                              closeModal: true
                          }
                      }
                    }).then(function (result) {
                  });
              }, function (error) {
                  // 保存に失敗した場合は、エラーメッセージを表示する
                  swal({
                      title: 'エラーが発生しました',
                      text: '保存中にエラーが発生しました。もう一度やり直してください。',
                      icon: 'error',
                      buttons: {
                          confirm: {
                              text: 'OK',
                              value: true,
                              visible: true,
                              className: 'swal-button--confirm',
                              closeModal: true
                          }
                      }
                  });
              });
          } else {}
      });
  }
});

しかし、実行されないためコンソールを見てみると、

console.log(event.changes.field.×××);

の部分でundefinedと出ていました。

krewsheetの一覧画面から編集したレコードの値を取得するにはどうすればよいのでしょうか。

 

ご存じの方がいらっしゃいましたら、お力添えいただけると幸いです。 

0

2件のコメント

Avatar
akika

Sakkuさん

間違ったら申し訳ありませんが、

[XXXX]の部分にもしかしてフィールドコードを入力したのでしょうか?

console.log(event.changes.field.×××);

公式Docサイトによると、「changes.fieldは変更されたフィールドのオブジェクト」です。

変更されたフィールドを出力したいだけならば、後にフィールドコードが要らないと思います。

 

1
Avatar
Sakku

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

おっしゃる通り、フィールドコードを入力しておりました。

console.log(event.changes.field.value);

上記のように変更したところレコード値の取得に成功いたしました。

お力添えありがとうございました。

Sakkuにより編集されました
0
サインインしてコメントを残してください。