2012-02-07 25 views

答えて

0

私はちょうどJavascriptを使用していますが、jQueryを使用することをお勧めします。

0

(その他ダウンページの体重を維持する)Salesforceのアプローチを想定すると、次のような何か行うことができます:私は、出力パネル自体にrendered属性を使用していない

<apex:inputCheckbox value="{!theBool}"> 
    <apex:actionSupport event="onChange" action="{!myAction}" rerender="theFieldsPanel"/> 
</apex> 

<apex:outputPanel id="theFieldsPanel"> 
    <apex:variable var="v" value="" rendered="{!theBool}"> 
     <apex:inputField value="{!someField"} rendered/> 
     <!-- more fields etc. --> 
    </apex:variable> 
</apex:outputPanel> 

注意を、このなぜなら、レンダリングされていなければページには存在しないため、良いrerenderターゲットにはならないからです!今、あなただけのコントローラ上の簡単な操作が必要(必要であれば、あなたはここで他のロジックを行うことができます):

public Pagereference myAction() 
{ 
    // any logic etc. goes here 
    return null; 
} 
JavaScriptを使用しては対照的に、物事をこのように行うことの利点は、あなたがいることを保証することができるということです

フィールドが非表示の場合、バインドされている変数の値はコントローラに返されません。 javascriptで物事を隠すだけでも同じ効果はないので、ユーザがフィールドの1つに何かを入力して隠しておけば、彼/彼女がタイプしたものは関係するコントローラ変数で終わるでしょう。

関連する問題