6

p:selectonemenu を使用して無効にする必要があります。つまり、投稿中に送信する必要がありますが、読み取り専用にする必要があります。投稿が妨げられるため、disabled 属性を使用したくないことに注意してください。

このフォーラムで、非表示フィールドを使用してこれを実現できることを読みましたが、これを実装する方法がわかりません。この点で誰かが私に助けを提供してくれれば幸いです。

<p:inputText id="cpr" value="#{customerbean.customer.cpr}">
    <p:ajax event="change" listener="#{customerbean.fetchCustomerDatafromCBS}" update="nationality address passportno name nationality dob address mailingaddress gender mobileno landlineno otherno email maritalstatus nochildren" immediate="true" >
         <f:param name="cprNumber" value="#{customerbean.customer.cpr}"/>
    </p:ajax>                 
    <f:validator validatorId="cprValidator" />                    
</p:inputText>   


<p:selectOneMenu id="gender" value="#{customerbean.customer.gender}" required="!#{customerbean.disabled}" requiredMessage="#{text['validation.error.required.gender']}" disabled="#{customerbean.disabled}">                      
    <f:selectItem itemLabel="Select One" itemValue="" noSelectionOption="true" />  
    <f:selectItem itemLabel="Male" itemValue="Male" />  
    <f:selectItem itemLabel="Female" itemValue="Female"  />  
</p:selectOneMenu>                

<p:inputText  type="hidden" value="#{customerbean.customer.gender}" />
4

1 に答える 1

5

このフォーラムで、非表示フィールドを使用してこれを実現できることを読みましたが、これを実装する方法がわかりません。

<p:selectOneMenu>無効にして、 を作成し<p:inputText type="hidden" value="#{bean.property}" />ます。属性はvalueと同じである必要があります<p:selectOneMenu>。必要に応じて、同じコンバーターを使用してください。

このように、<p:selectOneMenu>はユーザーに対して無効になりますが、値は hidden によって送信され<p:inputText />ます。


非表示の入力はまだ であるため<p:inputText />、値が変更されたときに更新する必要があることに注意してください。それに ID を割り当て、必ず の に追加してupdateください<p:ajax />

于 2012-09-05T13:44:04.123 に答える