(function() {
“use strict”;
var events = [
/*user_main項目*/
“app.record.create.change.user_main”, “app.record.edit.change.user_main”, “app.record.index.edit.change.user_main”,
“mobile.app.record.create.change.user_main”, “mobile.app.record.edit.change.user_main”, “mobile.app.record.index.edit.change.user_main”,
/*item_type項目*/
“app.record.create.change.item_type”, “app.record.edit.change.item_type”, “app.record.index.edit.change.item_type”,
“mobile.app.record.create.change.item_type”, “mobile.app.record.edit.change.item_type”, “mobile.app.record.index.edit.change.item_type”
];
kintone.events.on(events, function(event) {
var record = event.record;
record[‘category’][‘disabled’] = true;
if (record.user_main.value[0].name === ‘田中太郎’ ||record.user_main.value[0].name === ‘山田一郎’ )
record[‘category’].value = ‘Aタイプ’;
else if (record[‘item_type’].value === ‘特注’)
record[‘category’].value = ‘Bタイプ’;
else{
record[‘category’].value = ‘Cタイプ’};
return event;
});
})();
上記のようなjsを書いています。
user_main(ユーザー選択項目)という項目が、「田中太郎」か「山田一郎」だったら、categoryをAタイプ、
item_typeが「特注」だったら、categoryをBタイプ、
いずれでもなければcategoryをCタイプとしています。
挙動自体はするのですが、chromeのconsoleをみると、
Uncaught TypeError: Cannot read property ‘name’ of undefined
at download.do?app=10&contentId=21088&jsType=DESKTOP&hash=406862f9c1a63a99c21eb16040ea91688e30c44a:23
at show.js:256
at Array.forEach (<anonymous>)
at w (show.js:1037)
at ex (show.js:256)
at fx (show.js:256)
at nH (show.js:411)
at zja (show.js:839)
at F1 (show.js:842)
at d1.e.AR (show.js:1997)
という赤字が表示されています。
挙動はするものの、なぜこのエラーメッセージがでるのか解消したく、質問させていただきました。
ユーザー選択項目のrecord.user_main.value[0].nameという表記がよくないのでしょうか?
ご教授頂けますと幸いです。