こちらのコードを変更して使いたいのですが
①「radio(=振休取得の有無)」を「あり」にしてデータを入力→「なし」に変更→「あり」で再表示させた際に「振休日1,2,3」のデータが消えるようにしたい。
→こちらはリンク下のフィードバックにそのようなことが書いてあったのでそのままコードを書いてみましたがデータは消えませんでした。
②レコードの保存 ができない
→Chromeのコンソールには「Uncaught TypeError: Cannot read property ‘value’ of undefined」こちらのエラーが出ていました。
解決策・コードがお分かりの方がおられましたらどうかご教示ください。
/*
* 回答の条件によって別フィールドの表示/非表示を切り替えるサンプルプログラム
* Copyright (c) 2014 Cybozu
*
* Licensed under the MIT License
*/
(function() {
"use strict";
//レコードの追加、編集、詳細画面で適用する
var events = ['app.record.detail.show',
'app.record.create.show',
'app.record.create.change.radio',
'app.record.edit.show',
'app.record.edit.change.radio'];
kintone.events.on(events, function(event) {
var record = event.record;
//"振休取得の有無"の回答に応じて「振休日」フィールド3つの表示、非表示を切り替える
if (record['radio']['value'] === 'なし') {
kintone.app.record.setFieldShown('振休日1', false);
kintone.app.record.setFieldShown('振休日2', false);
kintone.app.record.setFieldShown('振休日3', false);
//非表示にした場合にデータを空にする
record['振休日1']['value'] = "";
record['振休日2']['value'] = "";
record['振休日3']['value'] = "";
} else {
//「あり」の場合は「振休日」フィールド3つを表示する
kintone.app.record.setFieldShown('振休日1', true);
kintone.app.record.setFieldShown('振休日2', true);
kintone.app.record.setFieldShown('振休日3', true);
}
});
})();