プルダウンのリストアイテムを動的に設定したく、色々と試してはみているのですが、
画面上部に、javascriptの実行時エラーが表示され、
「event.record[‘XXX’].valueが不正です」と表示されます。
例えば、 “りんご”,“もも”,"みかん"をリストアイテムとして設定したい場合、
event.record[‘XXX’][‘value’]にはどのようにして設定できますか?
堀内 典子さん
フォームのフィールド設定の変更APIを利用して、
kintone.api(kintone.api.url("/k/v1/preview/app/form/fields", true),
'PUT',
{
app: kintone.app.getId(),
properties: {
'XXX': {
options: {
"りんご":{
label: "りんご",
index: 0
},
"もも":{
label: "もも",
index: 1
},
"みかん":{
label: "みかん",
index: 2
}
}
}
}
},
function(res){
// コールバック処理
});
のようなコードを実行しておけば動的にアプリのフォーム設定を書き替えることができるため、valueの不正値によるエラーは出ないかと思われます。
ですが、REST APIでフォーム設定を変更してもそのままでは作成/編集画面の表示は更新されないので、コールバック処理のときに画面の更新を行うなど工夫が必要かと思われます。
丁寧なご回答を頂き、有難うございました。
参考にして試してみているのですが、仰るとおり、
期待している内容が表示されません。
恐れ入りますが、callback処理でどう記述すればよいか
教えてください。
堀内さん
回答が遅れてすいません
フォームの設定の変更APIを利用してフォームの設定が変更されているのであれば、コールバック内で
location.reload();
を呼び出せば、画面の更新を行うことで変更した内容のフォームを読み込むことができます。
ただ、毎回この処理を行う場合更新がループしてしまうので、何らかの条件式などで制限する必要があります。
ご回答、有難うございました。
フォームの設定変更でエラーになっているようで、解決できず。。。
あらかじめフォームに張り付けたプルダウンオブジェクトのリストアイテムを
再設定するのではなく、
画面表示時にプルダウンリストを作成するように変更しました。