新規投稿
フォローする

fb.events.fields.{fieldCode}.changed イベントをまとめて記載したい

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

フォームブリッジの入力操作の際、
fieldCodeで指定したフィールドに対するデータが変更された時①と、fieldCodeで指定したフィールドに対するデータが変更された時②で、同様の処理内容を行いたいのですが、記載方法が分からずにいます。

やりたいことのイメージとしては、

(function() {

"use strict";

// fieldCodeで指定したフィールドに対するデータが変更された時①
fb.events.fields.{fieldCode_A}.changed = [function(state) {

// 処理内容


}];


// fieldCodeで指定したフィールドに対するデータが変更された時②
fb.events.fields.{fieldCode_B}.changed = [function(state) {

// 処理内容

}];


})();

上記の冗長なソースを、

(function() {

"use strict";

// fieldCodeで指定したフィールドに対するデータが変更された時①②
fb.events.fields.{fieldCode_A, fieldCode_B}.changed = [function(state) {

// 処理内容


}];

})();

このような形でスッキリさせたいです。
(※この記載方法は試しましたがエラーとなりました。)

記載方法のアドバイス等ありましたらご教授頂きたいです。

0

2件のコメント

Avatar
山口貴史

S.Yuzawa 様

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

以下のように処理内容を定義した関数を一旦変数に代入し、その後各フィールドの changed に代入する、という方法で処理内容を1箇所にまとめることができます (各フィールドの changed への割当てはそれぞれ行う必要があります)。

(function() {
'use strict';

const hander = function(state) {
// 処理内容
};

// fieldCodeで指定したフィールドに対するデータが変更された時①
fb.events.fields.fieldCode_A.changed = [handler];
// fieldCodeで指定したフィールドに対するデータが変更された時②
fb.events.fields.fieldCode_B.changed = [handler];
})();

以上、ご確認いただけますと幸いです。

0
Avatar
S.Yuzawa

トヨクモ 山口様

頂いたサンプルを元に実装した結果、無事やりたいことの実装ができました。

(処理内容を関数化すればよかったのですね、勉強になりました。)

ご回答ありがとうございました。

 

0
サインインしてコメントを残してください。