フォームブリッジでの負の値や小数点を入力して自動計算

背景・実現したいこと

フォームブリッジを 利用して自動計算を行いたいと考えています。

正の整数であれば問題なく計算ができるのですが、

フォームの半角数字のみのチェックボックスを入れると

小数点0.5や-10などの値を入力するとフォーム送信時にエラーになってしまいます。

逆にその他の半角英数字にチェックを入れると自動計算を行ってくれません

https://gyazo.com/727ef25236b0e194a79257a702a11545

 どのように設定すればよいでしょうか

 

 

渡邊宗一郎さん

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

今回のように計算式に用いるフィールドの初期値を小数とする場合は、JavaScriptカスタマイズで実装すると良いです。

下記のフィールドを用意し、

○計算式に用いるフィールド
 フィールドコード: single_line_text
 フィールドタイプ: 文字列(1行)
 オプション: 半角英数字記号のみ
○計算した値を保存するフィールド
 フィールドコード: number
 フィールドタイプ: 数値
 オプション: 編集不可

下記のようにJavaScriptを記述するとよいかと思います。

(function () {
  'use strict';
  var numberField = 'single_line_text'; //計算式に用いるフィールドのフィールドコード
  var calcField = 'number'; //計算した値を保存するフィールドのフィールドコード
  fb.events.form.created.push(function (state) { //フォームのDOMを作成する前
    state.record[calcField].value = Number(state.record[numberField].value) * 2; //計算式
    return state;
  });
  fb.events.fields[numberField].changed.push(function (state) { //計算式に用いるフィールドに対するデータが変更された時
    state.record[calcField].value = Number(state.record[numberField].value) * 2; //計算式
    return state;
  });
})();