フォームブリッジの時刻フィールドを15分単位で表示したい

基本が1分単位になっているフォームブリッジの時刻フィールドを15分単位で表示するよう変更する方法を教えてください。

 

※具体的な方法を教えて頂けると助かります

大和ライフネクスト石田様

お世話になっております。
トヨクモの江田です。

こちらなどが参考になるかと思います.
https://developer.cybozu.io/hc/ja/community/posts/360018051803

拡張子「.js」で下記コードを読み込ませてください.
「field」に代入している数字は,目的のフィールドに適用されるよう,適宜変更してください.

(function() {
  "use strict";

  fb.events.form.created = [function (state) {
    var field = 0; //フィールドの番号(0以上の整数)
    state.fields[field].pickerOptions = {start: '00:00', end: '23:30', step: '00:15'};
    state.fields[field].type = 'time-select';

    return state;
  }];
})();

このまま読み込んでも変更されないですよね?

目的のフィールドに適用されるようfieldの数字を変更したいのですが、

どこの何を見て変更するのでしょうか?

大和ライフネクスト石田様

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

上記のまま読み込んだ場合(数字が0)は、フォーム内の1番目にあたるフィールドが時刻選択のタイプになり、15分刻みの選択肢が表示されます。

目的のフィールドの数字探すには、2通り方法があります。

1つは、0から数字を1つずつ増やして、目的のフィールドに適用される数字を探す方法です。
その都度コードを書き換えてアップロードし直して、実際のフォームへ反映された様子を確認します。

JavaScriptでの開発に慣れているのであれば、以下の方法をおすすめします。
イベントハンドラ内に、
console.log(state.fields);
を追加して、ブラウザのコンソール画面から目的のフィールドの番号を確認します。
ブラウザのコンソール画面の使い方はGoogle検索で出てくると思います。

お忙しい中、ご返信ありがとうございます。

 

フィールドの数字は44と46だと判明(時刻フィールドは2つあり)したのですが、

それぞれ2つの.jsファイルを読み込むと片方しか機能しません。

 

初歩的な質問だと思いますが、44と46を15分単位にする方法を教えて頂けますでしょうか。

大和ライフネクスト石田様

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

下記のようになります.

(function() {
  "use strict";

  fb.events.form.created = [function (state) {
    var fields = [44, 46]; //フィールドの番号(0以上の整数)
    fields.forEach(function(field){
      state.fields[field].pickerOptions = {start: '00:00', end: '23:30', step: '00:15'};
      state.fields[field].type = 'time-select';
    });

    return state;
  }];
})();

何度も申し訳ありません。

時刻設定は行なえたのですが、他でカスタマイズしている設定が行なえなくなりました。

※Kintoneapp BLOGで紹介されている『条件分岐によって必須項目が隠れていても回答を完了できます』を設定していますが、完了できなくなりました。

何か対処法はありますでしょうか?

大和ライフネクスト石田様

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

JSファイルが複数ある場合は,下記で競合を回避できます.

(function() {
  "use strict";

  fb.events.form.created.push(function (state) {
    var fields = [44, 46]; //フィールドの番号(0以上の整数)
    fields.forEach(function(field){
      state.fields[field].pickerOptions = {start: '00:00', end: '23:30', step: '00:15'};
      state.fields[field].type = 'time-select';
    });

    return state;
  });
})();

横から失礼いたします。
素人ながら上記の方法で15分単位にできました。
ただ、元々の設定では時間は1時間単位、分は1分単位かと思います。

上記の方法だと、時間も分も合わせて15分単位になってしまいます。
時間と分は別々にした上で時間は1時間単位、分を15分単位で入力する方法はありますでしょうか?

よろしくお願いいたします。