2012-02-11 14 views
0

私はフォームを取得し、リクエスト変数を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右に私を指すことができます。私はすべての条件を必要としない、ちょうど例として最初のもの。

+0

ハンドラーコードで実行しているブールチェックの種類(1つだけです)では、チェックボックスの代わりにラジオボタンを使用することを検討してください。 –

+0

彼らは3のいずれかのコモを選択することができます –

答えて

1

javascriptでは、入力タイプ=チェックボックスがオンになっているかどうかを確認するには、checked属性を使用します。また、getElementById()関数を利用するには、javascriptのHTML要素を参照するIDを使用することをお勧めします。

<input type="checkbox" id="openLevel" >Open</input><br/> 
... 
if(document.getElementById('openLevel').checked){ 
    ... 
} 
+0

気高い私はそれを感謝します –