kintone側は分までの入力ですが、from bridge側は秒まで入力しないといけません。
秒を入力しなくてもいいように、カスタマイズできますか。
kintoneのように、30分刻みで選べると一番いいです
kintone側は分までの入力ですが、from bridge側は秒まで入力しないといけません。
秒を入力しなくてもいいように、カスタマイズできますか。
kintoneのように、30分刻みで選べると一番いいです
しいたけ様
お世話になっています。
cstapの友利と申します。
日付けと、時刻を選択するフィールドを別にすることでカスタマイズ可能です。
まず、フィールドのタブから
日時、日付、ドロップダウンのフィールドを追加し日時のフィールドを非表示に設定してください。
(この時、ドロップダウンを利用して30分刻みで選択するようにします。)
また、ドロップダウンは以下のJavaScriptのコードで制御するため選択肢を設定する必要はありません。
以下のJavaScriptのコードを読み込んでください。
(function() {
"use strict";
const date_code = '日付フィールドのフィールドコード';
const datetime_code = '日時フィールドのフィールドコード';
const time_drop_down_code = 'ドロップダウンのフィールドコード';
const getDate = (state) => {
const date = newDate(state.record[date_code].value);
const time = state.record[time_drop_down_code].value.split(':');
date.setHours(time[0]);
date.setMinutes(time[1]);
return date;
}
fb.events.fields[date_code].changed.push(function(state) {
state.record[datetime_code].value=getDate(state);
return state;
})
fb.events.fields[time_drop_down_code].changed.push(function(state) {
state.record[datetime_code].value=getDate(state);
return state;
})
fb.events.form.created.push(function(state) {
const options= [];
for (let i = 0; i < 48; i++) {
const value = Math.floor(i/2) + ':' + (i%2 ? '30' : '00');
options.push(value);
}
state.fields.forEach(e => {
if (e.code !== time_drop_down_code) return;
e.options = options;
});
return state;
})
})();
日付フィールドとドロップダウンから自動で非表示の日時フィールドに値が設定されます。
Kintoneアプリの保存先の設定で日時フィールドを使うようにしてください。
友利優希様
早速ありがとうございます。
頂いたJavaScriptで試して、時刻のドロップダウンは問題なくできました、
日時への自動反映はうまくいきませんでした。
設定の時に気を付けるべきポイントはありますでしょうか。フィールドコードは正しく設定しました。
しいたけ様
フォームブリッジでのフォームの詳細>kintoneアプリのタブ内での
kintoneアプリの保存先フィールドの設定でフォームブリッジの日時フィールドがKintoneの日時に保存されているか設定されていますでしょうか?