新規投稿
フォローする

jsコード同士の干渉?について

お世話になっております。
JSEdit for kintoneを使用してカスタマイズをしております。

下記の2つのコードがあるのですが、どちらも単体では
問題なく動くことは確認できています。
しかし、2つを同時にアップロードするとAの方が動きません。
デバッグなどを確認しましたが、エラー表示などが出ている様子もなく
これは干渉だったりするのでしょうか。

ちなみに、Bの
'app.record.detail.show'
'app.record.create.show'を削除するとAは動作します。
どうかご教示いただけますと幸いです。宜しくお願い致します。

・A
(function() {

"use strict";
kintone.events.on('app.record.create.show', function(event) {
(function (k) {
varc = newDate();
vard = String(c.getFullYear());
varo = String(("0" + (c.getMonth() + 1)).slice(-2));
varh = String(("0" + c.getDate()).slice(-2));
vare = String(("0" + c.getHours()).slice(-2));
varf = String(("0" + c.getMinutes()).slice(-2));
varp = String(("0" + c.getSeconds()).slice(-2));
varb = String(("0" + c.getMilliseconds()).slice(-2));
vara = 8;
varg = "abcdefghijklmnopqrstuvwxyz";
varn = g.length;
varm = "";
for (varj = 0; j < a; j++) {
m += g[Math.floor(Math.random() * n)]
}
varl = d + o + h + e + f + p + b + "-" + m;
varrecord = event.record;
record['uuid'].value = l;
k("#uuid").val(l);
k("#uuid").prop("disabled", true)
})(jQuery);
returnevent;
});
kintone.events.on('app.record.create.show', function(event) {
varrecord = event.record;
record['uuid'].disabled = true;
returnevent;
});
})();
 
・B
(function() {
"use strict";

// 追加、編集、詳細画面で適用
varevents = [
'app.record.detail.show'
'app.record.create.show'
'app.record.create.change.性別',
'app.record.create.change.書類1',
'app.record.create.change.書類2',
'app.record.edit.change.性別',
'app.record.edit.change.書類1',
'app.record.edit.change.書類2']

kintone.events.on(events, function(event) {
varrecord = event.record;

// 性別の選択
if (record['性別']['value'] === '男性') {
kintone.app.record.setFieldShown('日付', true);
}else {
// Noの場合は非表示
kintone.app.record.setFieldShown('日付', false);
}

// 書類1フラグの有無
if (record['書類1']['value'] === 'ON') {
kintone.app.record.setFieldShown('アップロード1', true);
}else {
// Noの場合は非表示
kintone.app.record.setFieldShown('アップロード1', false);
}

// 書類2フラグの有無
if (record['書類2']['value'] === 'ON') {
kintone.app.record.setFieldShown('アップロード2', true);
}else {
// Noの場合は非表示
kintone.app.record.setFieldShown('アップロード2', false);
}
});
})();
0

2件のコメント

Avatar
Shotaro Matsuda

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

A,Bの2つのjsで同じイベントの処理を行っているということですね。

Bの方の処理では、フィールドの表示/非表示を行っているため、

return event を書かれていないのだと思います。

が、別のjsで同じイベント処理を行っている場合は、Bの方でもreturnをしておかないと、

今回の事象のように、event全体が宙ぶらりん?になってしまいます。

Bの方の最後に return event; を入れてみてください。

0
Avatar
佐々木

松田 様
お早いご返信ありがとうございます。
kintone開発を始めてから動画でも勉強させて頂いております。

またご教示頂いた内容で無事動作させることができました。
return eventの記載漏れ...失礼致しました。
今後も開発を進めるにあたりしっかりチェックするようにしたいと思います。
大変助かりました!ありがとうございました!

0
サインインしてコメントを残してください。