新規投稿
フォローする

テーブル内のフィールド条件による編集不可

お世話になっております。

レコード追加時及び編集時、テーブル内のフィールドA(ルックアップ1)が入力された際、同テーブル内のフィールドB(ルックアップ2)を入力不可という事をしたいのですが、どのようなコード記述するか教えて頂けたら幸いです。

テーブル外の参考記事https://developer.cybozu.io/hc/ja/community/posts/900001359003/comments/900000617943

拝見しましたが、テーブルでの記述がわからずでした。

0

1件のコメント

Avatar
文系男

si-san さん

こんにちは!

 

ルックアップフィールドは changeイベントがないため、コチラ のように工夫して

ルックアップフィールドの値の取得判定を行い、各行のフィールドB(ルックアップ2)を

入力不可にするような処理になると思われます。

 

テーブル内のフィールドの編集不可については、稚拙な記載ですが

以下のような処理でできました。ご参考までに。

※ テーブル内のtext1という文字列1行フィールドの値を判定し、

     look1というルックアップフィールドの編集可・不可を制御してます。

(function() {
    "use strict";

  const events = [
        'app.record.edit.show',
        'app.record.create.change.text1',
        'app.record.edit.change.text1'
        ];
 
    kintone.events.on(events, function (event) {
        
      const record = event.record;
        
      for(let i = 0; i < record.Table.value.length; i++) {
            if(record.Table.value[i].value.text1.value) {
                record.Table.value[i].value.look1.disabled = true;
            } else {
                record.Table.value[i].value.look1.disabled = false;
            }
      }
        return event;
    });
})();

 

文系男により編集されました
0
サインインしてコメントを残してください。