フォームブリッジ・新バージョンで回答画面で特定項目を非表示としたいです。
回答画面では「fb-custom–field」が動作するのですが
確認画面では「fb-custom–field」が動作せず困っています。
(サンプルコード)
①回答画面では非表示になる
formBridge.events.on(‘form.show’, function (context) {
const nameDom = document.querySelector(‘.fb-custom–field[data-field-code=“xxx”]’);
nameDom.style.display = ‘none’;
});
②確認画面では非表示にならない(ここで非表示になって欲しい)
formBridge.events.on(‘confirm.show’, function (context) {
const nameDom = document.querySelector(‘.fb-custom–field[data-field-code=“xxx”]’);
nameDom.style.display = ‘none’;
});
aaa
2
動作するというコードが、コードブロックとして貼り付けられていないからか、動作しませんでした。
fb-custom--
が正しいが、fb-custom-
になってしまっている。
formBridge.events.on('form.show', function (context) {
const nameDom = document.querySelector('.fb-custom--field[data-field-code="文字列__1行_"]');
nameDom.style.display = 'none';
});
ブラウザのDev toolで見た限り、確認画面ではfb-custom--field
というクラス付与がないようです。
そもそもフォームで非表示にしておきたい要素がなぜ必要なのか?という疑問も生じます。
fb-custom--content
やfb-custom--content--confirm
でフォーム内容の要素をまるごと受け取るしかないようです。
苦肉の策として、一つ目の要素だと限定するならば、
const target = document.querySelector('.fb-custom--content > :first-child > :first-child');
if (target) {
target.style.display = 'none';
}
});
として非表示にすることはできました。
もし、フォーム回答者に見られてはいけないデータをフォーム上で非表示にしたところでデータはブラウザ上に転送されています。念のため。
「いいね!」 1
system
(system)
クローズされました:
3
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。