私はフォームを取得し、リクエスト変数をjspからフォームBeanに渡す方法の構造を変更しました。とにかくここでは例です:Javascriptの条件文とフォームに渡す
私はこの
JSPをしていた前に:
<fieldset class="det">
<legend>Closure Level</legend>
<input type="checkbox" name="openLevel" >Open</input><br/>
<input type="checkbox" name="phyCompLevel" >Physically Complete</input><br/>
<input type="checkbox" name="finCompLevel" >Financially Complete</input>
</fieldset>
ハンドラ:
はif ((form.isOpenLevel() == true) && (form.isFinCompLevel() != true && form.isPhyCompLevel() != true))
{
paramBean.addFilter(new DetFilterCriteriaBean("PHYS_COMP_DATE ","is","NULL"));
}
if ((form.isPhyCompLevel() == true) && (form.isFinCompLevel() != true && form.isOpenLevel() != true))
{
paramBean.addFilter(new DetFilterCriteriaBean("PHYS_COMP_DATE ","is","NOT NULL"));
paramBean.addFilter(new DetFilterCriteriaBean("FIN_COMP_DATE","is","NULL"));
}
if ((form.isFinCompLevel() == true) && (form.isOpenLevel() != true && form.isPhyCompLevel() != true))
{
paramBean.addFilter(new DetFilterCriteriaBean("FIN_COMP_DATE","is","NOT NULL"));
}
あなたは、私が "確認" されたボックスをチェックして見ることができるようにBeanに何を渡すかを確認します。私たちは一度にすべての変数を引っ張っているので、ハンドラ内のロジックはもうできません。だから私が必要とするのは、フォームを提出するのと同じ形のロジックをJavascriptで実行することです。したがって、このような何か:
私はJavaScriptでこの条件を実行する必要があります。
if ((form.isOpenLevel() == true) && (form.isFinCompLevel() != true && form.isPhyCompLevel() != true))
{
<input type="hidden" name="filterCriteria('PHYS_COMP_DATE').fieldName" value="PHYS_COMP_DATE"/>
<input type="hidden" name="filterCriteria('PHYS_COMP_DATE').operation" value="is"/>
<input type="hidden" name="filterCriteria('PHYS_COMP_DATE').values" value="NULL"/>
}
あなたが感謝direction..much右に私を指すことができます。私はすべての条件を必要としない、ちょうど例として最初のもの。
ハンドラーコードで実行しているブールチェックの種類(1つだけです)では、チェックボックスの代わりにラジオボタンを使用することを検討してください。 –
彼らは3のいずれかのコモを選択することができます –