kintoneの編集画面であるフィールドが活性なのか、非活性なのかをチェックしたいです。
何か良い方法は無いでしょうか?
kintoneの編集画面であるフィールドが活性なのか、非活性なのかをチェックしたいです。
何か良い方法は無いでしょうか?
塚本さん
DOM で disabled されているかどうかを取得するしかなさそうですね。
value-nnnnnn は、DOM上で、項目に付与された番号を指定してください。
var field1 = $(‘.control-value-gaia.value-nnnnnn input’).prop(‘disabled’);
console.log(field1);
// 非活性: true
// 活性: false
rex0220さん、ありがとうございます。
DOMで見るのはkintone的に推奨されていないし、そもそも項目に付与された番号は、フィールドのアクセス制限すると変わってしまうんですよねー
kintoneは使えませんね
塚本さん
アクセス権取得APIでは管理権限が必要ですし、いまのところ、DOMを見ないで判断は、出来ないですね。
ところで、何のためにフィールドの編集可否を取得したいのでしょうか?
目的によっては、別の対応も考えられますよ。
rex0220さん、コメントありがとうございます。
フィールドをdatapickerで年月フィールドに置き換えるJavaScriptを組んでいるのですが、置き換え対象のフィールドが非活性の場合は、置き換えないようにしないと、活性に見えてしまうのです。
そもそもDOMを使ってdatapickerに置き換えているので、今はDOMを使って活性、非活性を判断しています。
まあ、kintoneはDOMを推奨していないので、このJavaScriptは全部使い物にならなくなるので、どうでも良い話ではありますね。
塚本さん
kintone推奨の範囲内でカスタマイズするとするとスペースエリア内であれば、
kintone でもDOM操作を使っていいことになっています。
スペースを配置して、その中でdatapickerを使う方法もあると思います。
・本来の年月フィールドは、グループ内に入れて通常は見えなくする。
・submitイベントでdatapickerから年月フィールドに反映
・アクセス権限は、年月フィールドと二重管理になりますが、ログインユーザにより判断しdatapickerの表示を制御
ある程度、利便性が犠牲になります。
利便性をとるかkintone変更時のリスクをとるかで、判断することになると思います。
rex0220さん、いつもコメントありがとうございます。
何も知らない後継者が見たときに、なんでこんなことやってんだ?みたいな作りを避けたいので、
できる限りわかりやすいシンプルなカスタマイズしかしないようにします。
kintoneの変更が容易という利点を妨げたくないので。