いくつかの html 要素を含むフォームがあります。デフォルトでオンになっているチェックボックスがあります。送信ボタンをクリックすると、アクションを実行する必要があるチェックボックスの条件に基づいて、submitForm 関数が呼び出されます。チェックボックスが Y の場合、1 つのフォーム アクションを実行する必要があり、チェックされていない場合は別のアクションを実行する必要があります。JavaScriptを使用して、チェックされているかどうかを確認しました。しかし、これにcoldfusion変数を設定できません。常に変数を上書きします。以下はコードスニペットです
これは、使用される ColdFusion 変数です。これはデフォルトで Y に設定されています
<cfset form_condn_var = 'Y'/>
function submitForm(){
if (document.getElementById('Show_Final_Model').checked)
{
form.Show_Final_Model.value = 'Y';
}
else{
<cfset form_condn_var = 'N'/>
}
}
<cfif '<cfoutput>#form_condn_var#</cfoutput>' eq 'Y'>
<form id="form1" action="test.cfm" method="POST" target="testmain">
<cfelse>
<form id="form1" action="<cfoutput>#something#</cfoutput>" method="POST" target="_blank" onSubmit="">
</cfif>
変数 form_condn_var を常に N に設定し、条件に関係なくフォームの else 条件に進みます。. しかし、値を警告すると、正しく表示されます。フォームが最初に呼び出されていないため、隠し変数も使用できません。チェックされた条件のみに基づいてアクセスされます。チェックされている条件に関係なく、 form_condn_var が上書きされる理由を教えてください。または、これを達成できる他の方法はありますか?
前もって感謝します