Cybozu developer networkのTipsのURL:

https://developer.cybozu.io/hc/ja/articles/200306919 



kintoneアプリでチェックボックスがチェックされているかどうかで他のフィールドを入力可または入力不可にしたい。

ラジオボタンで選ばれた選択肢によって、他のフィールドを入力可または入力不可にしたい。


そんな時、Customineを使えば簡単に実現できます!


Customineの基本的な事柄は、こちらの「はじめてのカスタマイズ」をご参照ください。

今回のカスタマイズで出来ること

  • チェックボックスをチェックした時、別フィールドを入力可能にする。

  • チェックボックスのチェックを外した時、別フィールドを入力不可にする。

  • ラジオボタンで特定の選択肢を選択した時、別フィールドを入力可能にする。

  • ラジオボタンで特定の選択肢を選択した時、別フィールドを入力不可にする。

  • 保存したレコードを開いた時、チェックボックスやラジオボタンの選択状況によって別フィールドの入力可・不可を制御する。

アプリのフォーム

チェックボックスとラジオボタン、入力可・不可を制御したい文字列フィールドを配置したシンプルなアプリを作成します。

カスタマイズが完了するまでは、すべてのフィールドが常に有効で入力可能な状態です。


アプリの準備

チェックボックスのフィールド設定で、「有効にする場合はチェックしてください」のチェックが最初から選択された状態で表示されるように設定します。


ラジオボタンも同様に、初期値として「有効にする」を設定しておきます。


Customineの設定

チェックボックスによって「文字列(1行)」フィールドを、ラジオボタンによって「文字列(複数行)」フィールドを制御するカスタマイズを行います。


まずはチェックボックスの設定を行います。


チェックボックスがチェックされた時にフィールドを有効化する


やること

フィールドを有効化する」を選択します。

対象となるフィールドは「文字列 (1行)」です。


条件

チェックボックスのチェック状態が変わった時に判定したいので「フィールドの値を編集して値が変わった時」を選択し、フィールドには「チェックボックス」を指定します。

さらに、「有効にする場合はチェックしてください」がチェックされている時だけフィールドを有効にしたいので「フィールド値が特定の値ならば」を選択します。

条件は「等しい」、比較値には「有効にする場合はチェックしてください」と入力します。


チェックボックスのチェックが外れた時フィールドを無効化する


やること

フィールドを無効化する」を選択します。対象となるフィールドは「文字列 (1行)」です。


条件

チェックボックスのチェック状態が変わった時に判定したいので「フィールドの値を編集して値が変わった時」を選択し、フィールドにはチェックボックスを指定します。

さらに、「有効にする場合はチェックしてください」がチェックされていない時だけフィールドを無効にしたいので「フィールド値が特定の値ならば」を選択します。

条件は「等しくない」、比較値には「有効にする場合はチェックしてください」と入力します。


続いて、ラジオボタンの設定を行います。



「有効にする」ラジオボタンが選ばれた時フィールドを有効化する


やること

フィールドを有効化する」を選択します。対象となるフィールドは「文字列 (複数行)」です。


条件

ラジオボタンの選択状態が変わった時に判定したいので「フィールドの値を編集して値が変わった時」を選択し、フィールドにはラジオボタンを指定します。

条件は「等しい」、比較値は「有効にする」を入力します。


「無効にする」ラジオボタンが選ばれた時フィールドを無効化する


やること

フィールドを無効化する」を選択します。対象となるフィールドは「文字列 (複数行)」です。


条件

ラジオボタンの選択状態が変わった時に判定したいので「フィールドの値を編集して値が変わった時」を選択し、フィールドにはラジオボタンを指定します。

さらに、「フィールド値が特定の値ならば」を選択します。

条件は「等しい」、比較値には「無効にする」と入力します。



ここまでで、チェックボックスとラジオボタンを操作した時の設定は完了です!


次に、レコードの編集画面を開いた時の設定を行っていきます。

この設定を行うことで、保存したレコードを編集画面で開いた時も、チェックボックスやラジオボタンで選択された値によってフィールドを無効にできます。


編集画面を表示した時、チェックボックスがチェックされていなければフィールドを無効化する



やること

フィールドを無効化する」を選択します。対象となるフィールドは「文字列 (1行)」です。


条件

レコードを編集画面で開いたときにチェックボックスのチェック状態を判定したいので「編集画面を表示した時」を指定します。

さらに、「有効にする場合はチェックしてください」がチェックされていない時だけフィールドを無効にしたいので「フィールド値が特定の値ならば」を選択します。

条件は「等しくない」、比較値には「有効にする場合はチェックしてください」と入力します。


編集画面を表示した時、「無効にする」ラジオボタンが選ばれていればフィールドを無効にする


やること

フィールドを無効化する」を選択します。対象となるフィールドは「文字列 (複数行)」です。


条件

レコードを編集画面で開いたときに選択されているラジオボタンを判定したいので「編集画面を表示した時」を指定します。

さらに、「無効にする」ラジオボタンが選ばれている時だけフィールドを無効にしたいので「フィールド値が特定の値ならば」を選択します。

条件は「等しい」、比較値には「無効にする」と入力します。


これですべての設定は完了です。

「kintoneアプリへ登録」し、動作を確認してみましょう!


レコードの追加と、保存したレコードの編集を試してみて下さい。

チェックボックスとラジオボタンの選択状況によって、文字列フィールドの有効・無効が制御できていれば完成です。


まとめ

フィールドの無効化に限らず、チェックボックスやラジオボタンで選択されている値によって何かしたい!というケースは多いと思います。

ぜひ色々試してみてください!


もし分からないことがありましたら、フォーラムの方でご質問ください。