kintoneでフィールド値編集・変更時のイベントについて(ゼロ埋め)

下記ページを参考にして、JavaScriptを設定していましたが、機能しなくなってしまい、対処方法をお教え願えないでしょうか。
『コード値のゼロ埋めについて』
https://developer.cybozu.io/hc/ja/community/posts/207666603-%E3%82%B3%E3%83%BC%E3%83%89%E5%80%A4%E3%81%AE%E3%82%BC%E3%83%AD%E5%9F%8B%E3%82%81%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

 

<設定しているフィールド>

スタッフ番号:文字列1行

<設定しているJavaScript>

(function() {
“use strict”;
kintone.events.on(‘app.record.create.change.スタッフ番号’,
‘app.record.edit.change.スタッフ番号’,
function(event) {
var length = 6; // 値を6桁でゼロ埋めする

// 下記のように設定したlength以下の場合書き換える、という風にしないと無限に書き換え処理が走ってしまうので注意
if(event.changes.field.value.length < length) {
event.changes.field.value = zeroPadding(event.changes.field.value, length);
}
return event;
});

function zeroPadding(number, length){
return (Array(length).join(‘0’) + number).slice(-length);
}
})();

 

<ブラウザコンソールのエラー表示>

Uncaught TypeError: b is not a function
at edit.js:235
at Array.forEach (<anonymous>)
at v (edit.js:892)
at ov (edit.js:235)
at pv (edit.js:235)
at IH (edit.js:407)
at d3 (edit.js:734)
at A2.e.VL (edit.js:1758)
at Ed (edit.js:53)
at c.e.dispatchEvent (edit.js:900)

※以下は展開すると表示
(anonymous)      @ edit.js:235
v                         @ edit.js:892
ov                       @ edit.js:235
pv                       @ edit.js:235
IH                       @ edit.js:407
d3                      @ edit.js:734
e.VL                   @ edit.js:1758
Ed                      @ edit.js:53
e.dispatchEvent @ edit.js:900
(anonymous)      @ edit.js:1598
Ed                      @ edit.js:53
e.dispatchEvent @ edit.js:900
e.Hm                  @ edit.js:1367
Bd                      @ edit.js:51
ud                      @ edit.js:52
b                        @ edit.js:49

Makoto Ohnoさん、こんにちは。

プロジェクト・アスノートの松田です。

ぱっと気づいたところとしては、イベントを複数設定されていますが、その場合は配列で指定してあげる必要があるかと思います。

kintone.events.on(
['app.record.create.change.スタッフ番号',
'app.record.edit.change.スタッフ番号'
],
function (event) {

ご確認ください。

 

Makoto Ohno さん

こんにちは!

 

Shotaro Matsuda さんの仰るように、イベントを複数記述する場合は、

配列で指定してあげる必要があります。

 

参考になりますが、以下のような記述で IE では動作しました。

 

(function() {
    "use strict";
   
    function zeroPadding(number, length){
        return (Array(length).join('0') + number).slice(-length);
    }
   
    var events = [
        'app.record.create.change.スタッフ番号',
        'app.record.edit.change.スタッフ番号'
    ];
 
    kintone.events.on(events, function(event) {

        var length = 6; // 値を6桁でゼロ埋めする

        // 下記のように設定したlength以下の場合書き換える、という風にしないと無限に書き換え処理が走ってしまうので注意
        if(event.changes.field.value.length < length) {
            event.changes.field.value = zeroPadding(event.changes.field.value, length);
        }
    return event;
    });
})();

松田さん、早速の回答をありがとうございます。
無事に動作させることが出来ました。

いつも、ありがとうございます!

文系男 さん、回答をありがとうございます。
JavaScriptの知識が希薄で

「イベントを複数記述する場合は、配列で指定してあげる」

との認識が足りておりませんでした。
無事に解決することが出来ました。