フォームブリッジで複数のkViewerルックアップを使用しています。
フォームブリッジで回答者が【書籍リスト】で「資格名称」を選択したら
【研修リスト】にもその選択を反映させたいのですが、
設定やJacaScriptで値を転記することはできないでしょうか?
1.【書籍リスト】【研修リスト】という2つのkViewreルックアップフィールドがある
2.いずれも「資格名称」から目的の資格を選択する
** ※1回の選択で、別のkVierer項目も選択済みの状態にしたい。今は2回別々に同じ資格を選択している**
3.画面上に選択した資格に該当する書籍と研修を表示する
※kViewerルックアップの設定にある「選択時にAPIビューのレコードからフィールドの値を変更」で
フォームブリッジのフィールド候補にkViewerルックアップフィールドはなく
【研修リスト】を転記先に選べず。
※「選択時にAPIビューのレコードからフィールドの値を変更」で
一旦別のテキストフィールドに【書籍リスト】で選択した「資格名称」の値を持たせることはできるので
その値を【研修リスト】に転記することができればその方法でもよさそうなのですが
具体的にどうしたらよいか過去の投稿から見つけられず、アドバイスいただきたく投稿しました。
Myページ表示の時のように、あらかじめ選択済み(値を持った状態)にできるのであれば、
たぶん上記のようなこともできるのでは・・という程度の理解で恐縮ですが、
ご教示いただけると幸いです。
よろしくお願いします。
takeno様
お世話になっております。
トヨクモの江田と申します。
フォームブリッジ上で,文字列 (1行)フィールドの「書籍リストcopy」と「研修リストcopy」を追加していただいて,下記JavaScriptを設定することで実装可能かと思います.
(function () {
"use strict";
fb.events.form.mounted = [function () {
fb.getElementByCode('書籍リストcopy').style.display = 'none';
fb.getElementByCode('研修リストcopy').style.display = 'none';
}];
fb.events.fields.書籍リストcopy.changed = [function (state) {
state.record.書籍リスト.value = state.record.書籍リストcopy.value;
return state;
}];
fb.events.fields.研修リストcopy.changed = [function (state) {
state.record.研修リスト.value = state.record.研修リストcopy.value;
return state;
}];
})();
トヨクモ 江田様
ありがとうございます。試してみました。
1つめのルックアップで選択した内容を、2つめのルックアップに書き込むことはできました。
ありがとうございます。
もしご存知であれば教えていただきたいのですが、、
自動で2つめのルックアップに値を渡したあと、2つめのルックアップを実行?させたいのですが、
それもjavaScriptで可能でしょうか?
※イメージとしてはMyページからフォームブリッジに遷移した時に、
kVewerルックアップ項目値が入って、設定したフィールドにビューから取得した値が反映されるときのような動きにしたいです。
※利用者が1か所で資格を選択すると、書籍も研修も表示されるようにしたい。
(function () {
"use strict";
fb.events.form.mounted = [function () {
fb.getElementByCode('選択した資格名').style.display = 'block';
}];
fb.events.fields.選択した資格名.changed = [function (state) {
state.record.書籍リスト.value = state.record.選択した資格名.value;
state.record.研修リスト.value = state.record.選択した資格名.value;
return state;
}];
})();