簡體   English   中英

如何從p:selectBooleanCheckbox更改事件提交表單

[英]How to submit form, from p:selectBooleanCheckbox change event

我正在使用素數,並正在處理復雜的表格。 我需要隱藏表單的一部分,具體取決於復選框的值

    <p:selectBooleanButton id="input1" .... />
<p:inputText id="input2" />


<!-- the boolean checkbox -->
<p:selectBooleanCheckbox id="checkBox1" value="#{bbean.someBoolValue}" >
    <p:ajax event="change" update=":#{p:component('someParentcComponentsId')}" />
</p:selectBooleanCheckbox>

<!-- some input fields here. These will be rendered depending checkBox1 value -->
<p:panel rendered="#{bbean.someBoolValue}" id="hiddingPanel">   
    <h:panelGrid columns="2" >

        <p:inputText id="input3" />
    </h:panelGrid>
</p:panel>

到目前為止,我已經完成了這項工作,所以當點擊checkBox1時, hiddingPanel會顯示或隱藏。 但是有一個陷阱:這種形式的每個輸入(例如input1input2 )的值都將丟失,因為'change'ajax事件未提交其值。

在更新表單之前,如何確保提交所有輸入值?

只要確保更新確實需要更新的部分即可。

<p:selectBooleanCheckbox id="checkBox1" value="#{bbean.someBoolValue}" >
    <p:ajax event="change" update="hiddingPanel" />
</p:selectBooleanCheckbox>

<!-- some input fields here. These will be rendered depending checkBox1 value -->
<p:panel id="hiddingPanel">   
    <h:panelGrid columns="2" rendered="#{bbean.someBoolValue}">

        <p:inputText id="input3" />
    </h:panelGrid>
</p:panel>

請注意,我將rendered移動到其直接子節點,原因如下所示: 當我想要ajax更新它時,為什么我需要在另一個組件中嵌套一個帶有rendered =“#{some}”的組件?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM