【Bubble】Math.jsとArbitrarを使って複数Inputの値を連結する方法!

著者:大熊滉希
ノーコード特化のアプリ/システム開発事業を展開するEPICsの代表。
前職にて新規事業コンサルティングを行う企業で役員を歴任した後、
最小の経営資源で開発を行えるノーコードに可能性を感じEPICsを創業。

運営会社:EPICs株式会社
日本最大級の開発実績を誇るノーコード特化のアプリ/システム開発会社。
最安30万円・最短2週間から、BubbleやAdaloなど多様なツールの中からニーズに合わせた最適な開発を提案・実施している。Adalo公認エキスパートも在籍。

ノーコードツール「Bubble」で、複数のInputエレメントの入力値を連結するアプローチ例を紹介します。

プラグイン「Math.js」とArbitrary textが今回の実装のキーマンです。たとえば、5つのInputに入力された数字(各1文字制限)を連結して5桁の数字にするときに活躍します!

次項の実装イメージをご覧いただければ「これは将来絶対使う機会あるわ!」となると思うのでぜひ実装チャレンジしてみてくださいませ。

動画解説バージョンはこちら!

目次
【日本最大級のノーコード開発実績】
無料でアプリ・システム開発の相談を受付中

    氏名

    法人名

    メールアドレス

    電話番号

    お問い合わせ詳細

    送信ボタンを押すことで、個人情報の取扱いについてに同意したとみなされます

    実装イメージ

    2段階認証用の5桁のコードをユーザーに入力してもらう画面で使う想定です。

    Math.jsで計算した内容はMath.js's Resultといった感じで取得できるので、それをワークフローのOnly whenなどで活用するイメージです。

    次項ではMath.jsで計算する式なども含めて解説していきます!

    実装手順

    以下の手順で実装します。

    1. プラグイン「Math.js」をインストールする
    2. Inputエレメントを5つ設置する
    3. Math.jsエレメントを設置してExpressionの設定をする

    プラグイン「Math.js」をインストールする

    まずはプラグイン追加ページでMath.jsを検索して、インストールします。

    Mathは日本語で数学という意味がありますね。

    Inputエレメントを5つ設置する

    Inputエレメントを横並びで5個設置

    次に、ユーザーが数字を入力する欄をInputエレメントで5つ横並びで設置します。

    サンプルではInputエレメントを横並びにするために、Groupの中に入れて、LayoutをRowに設定してます。Inputのサイズは横幅50px、縦幅50pxくらいです。Input間の余白は、GroupのRowのSpace arroundで調整してます。

    InputのContent format設定

    各InputのContent formatはIntegerに設定してください。

    Math.jsエレメントを設置してExpressionの設定をする

    次に、Math.jsエレメントを設置し、Expressionの設定でArbitrary textを用いて、上記のように5つのInputに入力された数字を連結させる式を設定します。

    計算の考え方は、以下の通りです。

    1. 1つ目のInputに入力された数字を10,000倍する
    2. 2つ目のInput値を1,000倍する
    3. 3つ目のInput値を100倍する
    4. 4つ目のInput値を10倍する
    5. 5つ目のInput値はそのまま
    6. ①〜⑤を足し算して5桁の数字にする

    Bubbleのエディタは癖があるので、()や+を用いてた入力には苦戦するとは思いますがめげずにチャレンジしてみてください・・・!

    ▼実際の入力例

    (Input code1's value * 10000)+(Input code2's value * 1000)+(Input code3's value * 100)+(Input code4's value * 10)+Input code5's value

    上記を入力する際に、*のあとの数字を入力したときに一度Enterキーを押すのがコツです。数字の次の)を入力する際は一度カーソル外してから操作してみてください。

    Math.jsの計算結果を出力する

    最後に、実際にMath.jsで計算して5桁の数字が生成できているか確認しましょう。

    Math.jsエレメントで計算した結果は、Math.js’s Result(Number)という形でInsert dynamic dataで挿入することができます!

    TextエレメントのAppearanceに設定して検証してみてくださいませ。

    【日本最大級のノーコード開発実績】
    無料でアプリ・システム開発の相談を受付中

      氏名

      法人名

      メールアドレス

      電話番号

      お問い合わせ詳細

      送信ボタンを押すことで、個人情報の取扱いについてに同意したとみなされます

      「勉強になった!」「役に立った!」と思っていただけたら、是非シェアもお願いします!
      目次