基本的なカスタマイズ > ユーザーインタフェースのカスタマイズ > ウィザードの作成 > クライアント生成フォームデータ > ソリューション > 手順 - サブミットされたクライアント生成非表示フォームデータ > アプリケーションのクライアント側ロジックを追加する
  
アプリケーションのクライアント側ロジックを追加する
Javascript ファイル …/netmarkets/javascript/MYAPPLICATION/MYJSFILE.js を新規作成します。このファイルには、ウィザードのテーブルで通知される 'サブミット' イベント用のアプリケーションのリスナーが含まれます。コードは次のガイドラインに従う必要があります。
// Establish namespace
PTC.MYAPPLICATION={};
// Define wizard table 'submit' listener
PTC.MYAPPLICATION.MYLISTENER = function (table)
{
// see PTC.fakeLiterature.submitListener() code in
// /netmarkets/javascript/carambola/dataStoreOnlyExample.js};

// Add submit listener for wizard table once the table becomes 'available'
PTC.onAvailable
( 'MYTABLEID', function (table)
{
table.on ('submit', PTC.MYAPPLICATION.MYLISTENER);
});
}
この例では、サブミットリスナーによって、JCAappendFormHiddenInput を使用して、サブミットされたフォームに非表示入力データが追加されています。この例では、クライアント側ロジックが、ID 'MYTABLEID' を持つテーブルの各行に追加された 2 つの非表示プロパティを検索しています。これらのプロパティはデータストア内の各行に存在しますが、UI に表示されるテーブルの DOM には含まれていません。これらのプロパティにはそれぞれ "hiddenColumn1" および "hiddenColumn2" という名前が付いています。このいずれかの非表示プロパティがオブジェクトで見つかった場合、オブジェクト [row.get (“objectHandle”)] と非表示値自体 ("hiddenColumn1" など) を識別する非表示入力フィールドが生成され、これはあまり便利でない定数値を指定します。
この例は、いずれの非表示列にも関連付けられていないが特定のオブジェクトを識別する非表示の入力値を追加する方法も示しています (上記の JCAappendFormHiddenInput の 2 回目の呼び出しを参照)。
もちろん、この同じタイプのリスナーを使用して、フォームをサブミットする前に必要なデータを追加、変更、除去できます。これはいわゆる "データストア専用" フィールドの操作に限定されていません。