お世話になります。
プロセスにより入力する項目に色を付けたいと考えております。
つけるのは数字フィールド、文字フィールド(テーブル内外問わず)です。
やり方をおしえていただけないでしょうか。
お世話になります。
プロセスにより入力する項目に色を付けたいと考えております。
つけるのは数字フィールド、文字フィールド(テーブル内外問わず)です。
やり方をおしえていただけないでしょうか。
こんにちは。はじめまして、ひよこです。
レコード編集画面では、入力フィールドの属性を取得できないので、色を付けることはできません。https://developer.cybozu.io/hc/ja/articles/201942014#step3
代替手段として、以下などはいかがでしょうか。
・入力させたくない項目を編集不可にする
https://developer.cybozu.io/hc/ja/articles/202166270#step5
https://developer.cybozu.io/hc/ja/articles/200306919
・入力させたい項目が未入力だったらエラーにする
https://developer.cybozu.io/hc/ja/community/posts/115018001423
プロセスのステータスは、event.record[‘ステータス’][‘value’] で取得できます。
よろしくお願いいたします。
色を付けたいのは、入力エリアの背景で合っていますか?
kintoneの標準機能では編集画面で任意の入力エリア(input)の要素を取得する方法がありません。
なので、DOM操作になります。(ほぼ無理矢理なので非推奨。どうしても色を付けたい場合。)
htmlの構造を理解していないと任意のエリアを指定するのが難しいかもしれません。
以下はアプリに配置されている一番左上の入力エリア(項目名を表示している状態)の背景色を変更するサンプルです。
サンプル画像
childNodesの[]内の数字が入力エリアの位置を表しています。
idがrecord-gaiaの要素から辿った位置なので、開発者ツールなどから位置を把握することができます。
(function() {
"use strict";
var timing = [
'app.record.create.show',
'app.record.edit.show',
'mobile.app.record.create.show',
'mobile.app.record.edit.show'
];
kintone.events.on(timing, function(e) {
var parent = document.getElementById("record-gaia");
var nodes = parent.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].childNodes[0];
nodes.style.backgroundColor = 'yellow';
});
})();
ありがとうございます。
入力ボックスに色をつけたい理由としては、入力する際に迷わせない狙いがあります。
ひよこさんの方法もよいのですが、項目が多くなった場合などにメンテナンスが不便です。
アラートだと後の対応となるためできれば色でわかりやすくできないものかと。
FMさんの方法はもっと大変なのでやめておきます。
せっかく回答いただいたのにすみません。
takokichi さん
宣伝になってしまいますが、項目検証プラグインをご紹介します。
有償プラグインで、下記のような機能があります。
必須チェック・バリデーションチェック・入力抑止・表示制御を、条件式を指定するだけで処理出来ます。
Excel の計算式のような指定方法で、複雑な条件を指定できます。
ご参考になれば。
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。