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

**URL:** <https://community.cybozu.dev/t/topic/10147>\
**Category:** kintone 開発相談\
**Created:** [2025 年 3 月 3 日午前 7:00 UTC](https://community.cybozu.dev/t/topic/10147 "2025-03-03T07:00:16Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Teraguchi](https://avatars.discourse-cdn.com/v4/letter/t/b487fb/32.png) [@Teraguchi](https://community.cybozu.dev/u/Teraguchi)\
**Post date:** [2025 年 3 月 3 日午前 7:00 UTC](https://community.cybozu.dev/t/topic/10147/1 "2025-03-03T07:00:16Z")

</div>

### 何を実現したいのかを書きましょう

フォームブリッジで、特定の値を基準に他のフィールドの表示・非表示を切り替える処理を作成したいです。

### 発生した問題やエラーメッセージを具体的に書きましょう

現状ではインデックス番号を指定しての非表示は実現できましたが、今後の保守のためにフィールドコードを指定して作成したいです。

### 実行したコードをコピー＆ペーストしましょう

```javascript
(function() {
  "use strict";

  fb.events.form.mounted = [function(state){
      state.fields[2].hide = true;
      return state;
   }];

  fb.events.fields.standard.changed = [function(state){
      if (state.record.standard.value >= 22000) {
        state.fields[2].hide = false;
        state.fields[3].hide = true;
      } else {
        state.fields[2].hide = true;
        state.fields[3].hide = false;
      } 

    return state;
  }];
})();

```

ご教示いただけますと幸いです。

---

<div class="post-metadata">

**Author:** ![wv-sumichan](https://sea1.discourse-cdn.com/flex015/user_avatar/community.cybozu.dev/wv-sumichan/32/1665_2.png) [@wv-sumichan](https://community.cybozu.dev/u/wv-sumichan)\
**Post date:** [2025 年 3 月 3 日午前 8:49 UTC](https://community.cybozu.dev/t/topic/10147/2 "2025-03-03T08:49:21Z")

</div>

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

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

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

> [@フォームブリッジ フィールドコードでの書き方](https://community.cybozu.dev/t/topic/5097):
>
> 以下のサイトを参考に、フィールドの非活性を記述しました。 [https://developer.cybozu.io/hc/ja/community/posts/360047545411-%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%83%96%E3%83%AA%E3%83%83%E3%82%B8%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC…](https://community.cybozu.dev/hc/ja/community/posts/360047545411-%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%83%96%E3%83%AA%E3%83%83%E3%82%B8%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%AE%E9%9D%9E%E6%B4%BB%E6%80%A7%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)

> **[フォームブリッジでカスタムバリデーション作成方法 - Qiita](https://qiita.com/nacho0707/items/f03b54da19ebc1981a0e)**
>
> はじめにフォームブリッジでカスタムバリデーションを実装する方法を紹介します。フォームブリッジはwebフォームを作成し、入力された情報を自動でkintoneにデータ保存出来るサービスです。詳しく…

例えば、こんな感じ。

```js
// 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;
} ];

```

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

> **[JavaScriptカスタマイズ | FormBridge](https://formbridge.kintoneapp.com/help/customize)**
>
> FormBridge

---

<div class="post-metadata">

**Author:** ![Teraguchi](https://avatars.discourse-cdn.com/v4/letter/t/b487fb/32.png) [@Teraguchi](https://community.cybozu.dev/u/Teraguchi)\
**Post date:** [2025 年 3 月 4 日午前 12:15 UTC](https://community.cybozu.dev/t/topic/10147/3 "2025-03-04T00:15:24Z")

</div>

住田様  
ご教示いただいた内容で試した結果、想定通りの処理ができました。  
旧バージョンということも汲んでくださりありがとうございます。  
すごく助かりました！

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)\
**Post date:** [2025 年 3 月 7 日午前 12:16 UTC](https://community.cybozu.dev/t/topic/10147/4 "2025-03-07T00:16:22Z")

</div>

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
