【フォームブリッジ】フィールドコード指定で非表示にする方法

私が FormBridge のJSカスタマイズはほぼ未経験なので、熟練の方の回答を参考にしていただきたいですが、気になって調べたらそれっぽいのが出てきたので共有します…。

見た感じ従来のバージョンのフォームを利用していると思うので、その前提で行きますね。

state.fields は配列のようなので、配列の中から 目的のフィールドを絞り込む という処理が必要なようです。
state.fields[n].code がフィールドコードにあたるので、配列を全て回ってフィールドコードが一致するものを見つけることになります。

例えば、こんな感じ。

// for文を使う場合
fb.events.form.mounted = [ function (state) {
  let field;
  for (let i = 0; i < state.fields.length; i++) {
    if (state.fields[i].code === "目的のフィールドコード") {
      field = state.fields[i];
    }
  }
  if (field) {
    field.hide = true;
  }
  return state;
} ];

// Array.prototype.find を使う場合。↑と同じ結果になります
fb.events.form.mounted = [ function (state) {
  const field = state.fields.find(field => field.code === "目的のフィールドコード");
  if (field) {
    field.hide = true;
  }
  return state;
} ];

新バージョンのフォームの場合は、また違った指定方法だと思うので公式のリファレンスをご確認いただくことをお勧めします。

「いいね!」 1