複数のタブを持つ Web サイトがあります。各タブは、セッション変数から値を取得する一連のフィルターに基づいて個別のレポートを実行します。
現在の仕組み:
ユーザーがレポート タブ内にいる間、フィルター メニューを開いて、レポートを実行するために必要なオプション (医師の名前、場所、日付など) を選択し、実行ボタンを押してレポートを取得できます。ユーザーが「実行」をクリックすると、フォームは変数をセッション内に保存し、「実行」をクリックしたり何度も定義したりすることなく他のレポートを実行できます。
私がやろうとしていること:
フォーム内に「実行」ボタンしかない代わりに、現在のレポートを実行せずにフォームからセッション変数を設定する「適用」ボタンが必要です。このようにして、ユーザーは、必要のないレポートを強制的に実行することなく、変数を事前に定義できます。
ユーザーの選択に基づいて変数を設定するアプリケーション外の関数を呼び出す ajax を使用してみました。
私の課題は、これらの変数を、現在のセッション変数の更新に使用できる何らかの形式で関数から取得することです。
これは私のコードのサンプルです:
[適用] ボタン:
<a href="#" id="okbutton" class="savebuttons close-reveal-modal" onclick="setSession();">Apply</a>
私のAjax機能:
function setSession(){
var formData = $('form').serialize();
$.ajax({
url:'/mod_example/components/exampleCFCs/xUtility.cfc?method=setSessionVariables',
data: formData
});
};
そして私の機能の一部:
<cfcomponent output="no">
<cffunction name="setSessionVariables" access="remote" returntype="any">
<cfargument name="docid" type="string" required="no">
<cfif isDefined('docid')>
<cfset session.doctorids = docid>
</cfif>
<cfif isDefined('docid')>
<cfreturn session.doctorids>
<cfelse>
<cfreturn 0>
</cfif>
</cffunction>
</cfcomponent>
必要なのはsession.doctorids
、セッション変数を新しい値で更新できるようにするための値を取得することです。